2014-09-18 1 views
8

Я использую Sidekiq для фоновых операций моего приложения Rails 4.1.Sidekiq не закрывается после Ctrl + C

Когда я печатаю Ctrl + C для отключения 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.

Мой конф является:

  • Rails 4.1.5
  • Sidekiq 3.2.4
  • Postgresql DB
+0

Вместо открытия другого окна терминала вы также можете нажать 'ctrl-z', чтобы переместить sidekiq на задний план. Затем вы можете остановить sidekiq с помощью 'sidekiqctl'. – zwippie

ответ

19

Я столкнулся с этой проблемой. Sidekiq 3.2.4 полагается на драгоценный камень Целлюлида в версии 0.16.0, который частично разрушает Sidekiq. См. Здесь: https://github.com/celluloid/celluloid/issues/457

Обновление Sidekiq до 3.2.5, которое фиксирует Celluloid в версии 0.15.2.

+1

Удивительный! Благодарю. –

+0

Все еще применимо. Благодаря! – cavneb

1

Возможно, у вас есть еще один поток в вашем процессе Sidekiq, не останавливая , может быть, потому что вы rescuing Exception.

+0

Я не думаю, что это моя проблема, потому что работники не прекратятся хорошо, даже когда у них не было никаких рабочих мест для обработки за всю свою жизнь. –

Смежные вопросы