crontab не работает с мультистартом сельдерея

Я пытаюсь заставить Celery работать некоторое время. Все мои crontabs работают нормально, когда я проверяю их синхронно

sudo celery -A testdjango worker --loglevel=DEBUG --beat

но когда я сделаю

celery multi start -A testdjango w1 -l info

ни один из моих crontabs не работает. Я не уверен, почему

Примечание. Я пробовал и другие интервалы расписания, например, с time delta То же самое происходит и с этим.

Так что я совершенно уверен, что это не crontab, а как-то связано с тем, как я запускаю celery multi.

Кроме того, рабочий процесс включается нормально, так как я вижу его в Celery Flower, но задачи не выполняются. казнен.


person Jonathan    schedule 28.04.2014    source источник
comment
Как выглядит ваш лог-файл? Вероятно, проблема хранится там. Если у вас его нет, вы можете создать папку с помощью mkdir -p /var/log/celery, а затем вызвать celery multi start со следующим параметром --logfile=/var/log/celery/%n.pid   -  person bit2pixel    schedule 28.04.2014


Ответы (2)


Итак, ответ довольно прост

Поскольку для периодических задач требуется Beat, просто добавьте --бить командой.

что-то вроде этого

celery multi start -A testdjango w1 --beat -l info
person Jonathan    schedule 29.04.2014
comment
Я искал этот аргумент с незапамятных времен... и вот, единственный ответ во всей сети! - person holms; 29.01.2015
comment
@holms да, мне тоже потребовалось некоторое время - person Jonathan; 29.01.2015
comment
может вы знаете, как указать пару воркеров (по именам) с очередями? - person holms; 02.02.2015
comment
если у меня есть несколько очередей, это будет повторять задачу для каждой очереди - person nurettin; 12.03.2019

В качестве альтернативы, вместо того, чтобы запускать Beat внутри вашего рабочего процесса (что, по словам документации для 3.1.18, не рекомендуется), вы можете запустить его в фоновом режиме с помощью

celery beat -A testdjango --pidfile=/blah/beat.pid --detach

Обязательно сохраните где-нибудь pid-файл, чтобы потом можно было завершить процесс.

person MrDBA    schedule 27.07.2015