Стартиращата работа за стартиране на Celery не спира всички работни процеси

Написах задача Upstart за стартиране на celery в моя Ubuntu сървър. Ето моя конфигурационен файл, наречен celeryd.conf

# celeryd - runs the celery daemon
#
# This task is run on startup to run the celery daemon

description "run celery daemon"

start on startup
expect fork
respawn

exec su - trakklr -c "/app/trakklr/src/trakklr celeryd --events --beat --loglevel=debug --settings=production"

Когато изпълня sudo service celeryd start, процесът celeryd стартира добре и всички x на брой работни процеси започват добре.

..но когато изпълня, sudo service celeryd stop, той спира повечето процеси, но няколко процеса остават висящи.

Защо се случва това? Използвам Celery 2.5.3.


Ето проблем от тракера на Github.

https://github.com/celery/django-celery/issues/142


person Mridang Agarwalla    schedule 17.10.2012    source източник


Отговори (2)


Все още използвам init.d за стартиране на celery, така че това може да не е приложимо. Имайки това предвид, спирането на услугата celery изпраща сигнала TERM до celery. Това казва на работниците да не приемат нови задачи, но не прекратява съществуващите задачи. Следователно, в зависимост от това колко време отнема изпълнението на задачите ви, може да видите задачи за известно време, след като кажете на целина да спре. В крайна сметка всички те ще се затворят, освен ако нямате друг проблем.

person davidfischer    schedule 17.10.2012
comment
Това не изглежда да е проблемът, защото проверих моята опашка със задачи от RabbitMQ и нямаше нищо. Напоследък изобщо не поставям задачи на опашка поради друга развойна работа. Надстроих до Celery 3.x.x и се надявам, че това ще разреши проблема. Погледнете редакцията ми: мисля, че това е грешка. - person Mridang Agarwalla; 18.10.2012

Не успях да разбера това, но изглежда, че е проблем с по-старата ми версия на целина. Намерих този проблем споменат в техния инструмент за проследяване на проблеми и предполагам, че сочи към същия проблем:

https://github.com/celery/django-celery/issues/142

Надстроих моите celery и django-celery до версиите 3.x.x и този проблем изчезна.

person Mridang Agarwalla    schedule 18.10.2012