2016-06-06 5 views
0

Ich habe einen Sidekiq Worker, der einen JRuby-Code ausführt, um Daten von einem Remote-Server zu verbinden und zu ziehen. Es funktioniert, indem Sie auf Terminal fein:JRuby: Hintergrundjobverarbeitung über Sidekiq

bundle exec sidekiq 

Aber auf die Produktion möchte ich, indem -d Option, um die Arbeiter im Hintergrund laufen zu lassen:

bundle exec sidekiq -d -L log/sidekiq.log 

Es funktioniert nicht und gibt die folgende:

ObjectSpace is disabled; each_object will only work with Class, pass -X+O to enable 

Jede andere Option, die ich übergeben muss, um die Sidekiq im Hintergrund zu betreiben?

Antwort

1

Auch wenn Sie ObjectSpace aktivieren, wird es fehlschlagen, da Sie in JRuby nicht verzweigen können.

Sie können nicht die -d Option, verwenden Systemalternativen verwenden wie nohup

+0

Damit 'nohup' Ich möchte die sidekiq Arbeiter auszuführen, auch wenn ich das Terminal schließen. – Arif