2014-09-18 51 views
8

我使用Sidekiq作爲我的Rails 4.1應用程序的後臺操作。Ctrl + C後Sidekiq不會關閉

當I型按Ctrl + Ç關機Sidekiq,Sidekiq捕獲信號,但看來這最後的日誌行之後凍結:

^C2014-09-18T16:17:19.194Z 20686 TID-ovwtinh0g INFO: Shutting down 
2014-09-18T16:17:21.041Z 20686 TID-ovwtixflc INFO: Shutting down 5 quiet workers 

因此,我需要,我需要另一個終端窗口類型:

bundle exec sidekiqctl stop pidfile 

這實在是不方便(大約需要8秒),我找不到爲什麼Sidekiq不會正確停止按Ctrl + C

我的conf是:

  • 的Rails 4.1.5
  • Sidekiq 3.2.4
  • PostgreSQL的DB
+0

除了打開另一個終端窗口,您還可以按'ctrl-z'將sidekiq移動到背景。然後你可以用'sidekiqctl'來停止sidekiq。 – zwippie 2014-11-03 08:58:42

回答

19

我遇到了同樣的問題。 Sidekiq 3.2.4依靠版本0.16.0的Celluloid gem,部分打破了Sidekiq。看到這裏:https://github.com/celluloid/celluloid/issues/457

更新Sidekiq到3.2.5鎖定在0.15.2版賽璐珞。

+1

太棒了!謝謝。 – 2014-09-25 14:30:23

+0

仍然適用。謝謝! – cavneb 2015-03-18 01:32:50

1

有可能你有你的Sidekiq過程中另一個線程未停止,也許是因爲你是rescuing Exception

+0

我不認爲這是我的問題,即使他們在整個一生中都沒有工作要處理,工人也不會很好地關閉。 – 2014-09-19 12:24:12