2014-09-18 9 views
8

Używam Sidekiq do operacji w tle mojej aplikacji Rails 4.1.Sidekiq nie wyłączy się po Ctrl + C

Po wpisaniu Ctrl + C do zamykania Sidekiq, Sidekiq łapie sygnał, ale wydaje się zamrażać po tym ostatnim wierszu dziennika:

^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 

Zatem muszę kolejny okno terminala, gdy trzeba Typ:

bundle exec sidekiqctl stop pidfile 

to jest naprawdę niewygodne (i trwa około 8 sekund) i nie mogę znaleźć dlaczego Sidekiq nie przestanie poprawnie z Ctrl + C.

Moja conf jest:

  • Rails 4.1.5
  • Sidekiq 3.2.4
  • Postgresql DB
+0

Zamiast otwierać kolejne okno terminala, możesz również nacisnąć 'ctrl-z', aby przesunąć sidekiq na tło. Wtedy możesz zatrzymać sidekiq używając 'sidekiqctl'. – zwippie

Odpowiedz

19

Natrafiłem na ten sam problem. Sidekiq 3.2.4 polega na klejnocie Celluloid w wersji 0.16.0, który częściowo łamie Sidekiq. Zobacz tutaj: https://github.com/celluloid/celluloid/issues/457

Zaktualizuj Sidekiq do wersji 3.2.5, która blokuje Celluloid w wersji 0.15.2.

+1

Awesome! Dzięki. –

+0

Nadal stosowane. Dzięki! – cavneb

1

Możliwe masz inny wątek w procesie Sidekiq który nie zatrzymuje , może dlatego, że jesteś rescuing Exception.

+0

Nie sądzę, że to jest mój problem, ponieważ pracownicy nie będą się dobrze zamykali, nawet jeśli wszyscy nie mieli pracy do przetworzenia w całym swoim życiu. –

Powiązane problemy