Получение статуса Resque для работы с JRuby

#ruby #rake #jruby #resque

#ruby #рейк #jruby #resque

Вопрос:

У меня есть приложение, которое я уже реализовал Resque для фоновых заданий. Алос, я использую gem resque-scheduler , resque-status и все они работают без сбоев Ruby 1.9.2 .

Мое приложение — это приложение Sinatra, и я создал свое Rakefile и здесь его

 require "resque/tasks"
require "resque_scheduler/tasks"
  

Теперь я пытаюсь запустить приложение jruby 1.6.3 (ruby-1.8.7-p330) , но, к сожалению, у меня возникла проблема при попытке запуска COUNT=2 VERBOSE=true QUEUE=* rake resque:workers .

Терминал выдал эту ошибку «после добавления --trace в команду rake»

 rake aborted!
can't convert Class into String
org/jruby/RubyFile.java:872:in `basename'
org/jruby/RubyFile.java:1069:in `extname'
(eval):3:in `extname_with_potential_path_argument'
/Users/amr/.rvm/gems/jruby-1.6.3@global/gems/rake-0.9.2/lib/rake/application.rb:561:in `load_imports'
/Users/amr/.rvm/gems/jruby-1.6.3@global/gems/rake-0.9.2/lib/rake/application.rb:502:in `raw_load_rakefile'
/Users/amr/.rvm/gems/jruby-1.6.3@global/gems/rake-0.9.2/lib/rake/application.rb:78:in `load_rakefile'
/Users/amr/.rvm/gems/jruby-1.6.3@global/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/amr/.rvm/gems/jruby-1.6.3@global/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile'
/Users/amr/.rvm/gems/jruby-1.6.3@global/gems/rake-0.9.2/lib/rake/application.rb:61:in `run'
/Users/amr/.rvm/gems/jruby-1.6.3@global/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/amr/.rvm/gems/jruby-1.6.3@global/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/Users/amr/.rvm/gems/jruby-1.6.3@global/gems/rake-0.9.2/bin/rake:32:in `(root)'
org/jruby/RubyKernel.java:1063:in `load'
/Users/amr/.rvm/gems/jruby-1.6.3@global/bin/rake:19:in `(root)'
  

Я отслеживал файлы своих проектов, чтобы обнаружить, что при удалении require "resque/job_with_status" из какого-либо файла все работает хорошо и выдает ожидаемую ошибку i.e. Resque::JobWithStatus couldn't be found .

Я пытался запустить jruby --1.9 -S rake ... , но это тоже не работает!

Итак, есть ли какой-нибудь способ начать resque-status работать с JRuby?

и я уже открыл проблему на github: https://github.com/quirkey/resque-status/issues/45

Заранее спасибо