2010-07-21 12 views
5

Próbuję przekonwertować aplikację szyn do jruby na szynach. Obecnie jruby script/delayed_job run daje:Czy jest opóźniony_job jak klejnot dla 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 

Czy istnieje gem jak delayed_job dla jruby?

Odpowiedz

1

Nie byłem świadomy używanego przez obiekt objectSpace z opóźnieniem.
Jruby domyślnie wyłącza i nie wiem, jaki wpływ na wydajność ma
włączenia opcji -x + O.
Jeśli potrzebujesz przetworzyć proste i kilka zadań, powinieneś rozważyć BackgrounDRB.
Jeśli potrzebujesz czegoś do skalowania, powinieneś sprawdzić Workling/Starling.

1

Miałem dokładnie ten sam problem. W końcu zdecydowałem się użyć Resque zamiast tego, na co początkowo opierałem się, ponieważ myślałem, że będzie to przesada. Masz również inną ruchomą część do zainstalowania, Redis ...

Jednak ostatecznie okazało się, że jest łatwy w konfiguracji i jest bardzo elastyczny. Naprawdę się cieszę, że spróbowałem.

+0

Czy używasz Resque i JRuby na Windows lub na Linuksie lub Macu? –

+0

@AlexBlakemore Dość standardowy: Mac do programowania, Linux do produkcji. – Scott

+0

Dzięki za udzielenie odpowiedzi, uratowałeś mnie od marnowania czasu, próbując na próżno, aby uzyskać działanie Resque na Windows Server. Niestety, na razie jesteśmy przywiązani do serwera Windows. –