2010-07-21 24 views
5

J'essaye de convertir une application de rails à jruby sur des rails. À l'heure actuelle, jruby script/delayed_job run donne:Y at-il un delayed_job comme gem pour jruby?

/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 

Y at-il un petit bijou comme delayed_job pour JRuby?

Répondre

1

Je ne savais pas que le fichier delayed_job utilisait ObjectSpace.
Jruby le désactive par défaut et je ne connais pas les implications de performance
de l'activer avec -x + O.
Si vous devez traiter des tâches simples et peu nombreuses, vous devriez envisager BackgrounDRB.
Si vous avez besoin de quelque chose à l'échelle, vous devriez vérifier Workling/Starling.

1

J'ai eu exactement le même problème. À la fin, j'ai décidé d'utiliser Resque à la place, ce à quoi j'ai d'abord résisté parce que je pensais que ce serait exagéré. Vous avez également une autre pièce mobile à installer, Redis ...

Cependant, au final, il s'est avéré facile à installer et très flexible. Je suis vraiment content d'avoir essayé.

+0

utilisiez-vous Resque et JRuby natif séparé (démon) sous Windows ou sur un linux ou mac? –

+0

@AlexBlakemore Assez standard: Mac pour le développement, Linux pour la production. – Scott

+0

Merci d'avoir répondu, cela m'a évité de perdre du temps en essayant en vain de faire fonctionner Resque sur Windows Server. Malheureusement, nous sommes liés à un serveur Windows pour le moment. –