Существует ли delayed_job как gem для jruby? - PullRequest
5 голосов
/ 21 июля 2010

Я пытаюсь преобразовать приложение rails в jruby on rails. В настоящее время jruby script/delayed_job run дает:

/usr/lib/jruby/lib/ruby/gems/1.8/gems/delayed_job-2.0.3/lib/delayed/command.rb:50:in `each_object': ObjectSpace is disabled; each_object will only work with Class, pass -X+O to enable (RuntimeError)
    from /usr/lib/jruby/lib/ruby/gems/1.8/gems/delayed_job-2.0.3/lib/delayed/command.rb:50:in `daemonize'
    from script/delayed_job:5

Есть ли драгоценный камень, как delayed_job для jruby?

Ответы [ 3 ]

2 голосов
/ 31 октября 2012

Для записи: при развертывании в контейнере сервлетов можно использовать https://github.com/kares/jruby-rack-worker для запуска Delayed::Job как часть вашего JRuby::Rack приложения в отдельном собственном (демоническом) потоке ...

1 голос
/ 30 августа 2010

У меня была такая же точно такая же проблема. В конце концов я решил использовать Resque вместо этого, чему я изначально сопротивлялся, потому что думал, что это будет излишним. У вас также есть еще одна движущаяся часть, Redis ...

Однако, в конце концов, он оказался простым в настройке и очень гибким. Теперь я очень рад, что попробовал.

1 голос
/ 21 июля 2010

Я не знал, что delayed_job использовал ObjectSpace.
Jruby отключает его по умолчанию, и я не знаю, как это повлияет на производительность
включить его с помощью -x + O.
Если вам нужно обрабатывать простые и немногочисленные задания, вы должны рассмотреть BackgrounDRB.
Если вам нужно что-то масштабировать, вам стоит проверить Workling / Starling.

...