В сельдерее 4> декоратор periodic_task
устарел. Рекомендация теперь состоит в том, чтобы определить каждую периодическую задачу внутри, где вы инициализируете сельдерей (на основе того, что я могу найти, и docs).Добавление периодических заданий в сельдерей (django) внутри приложения
В моей установке django у меня много небольших приложений, и центральное место для установки периодов не будет выполнено.
Я все еще изучаю путь вокруг сельдерея, но я думаю, что мое решение «хорошо». Неправильно ли это решить, или есть ли другой способ теперь, когда periodic_task
ушел?
from celery.schedules import crontab
from lib.celery_instance import app # The celery instance
@app.task()
def mytask():
# do something...
return 123
app.add_periodic_task(crontab(hour=8, minute=45), mytask.s())
Это выглядит нормально, но я считаю, что хранить его в центральном месте гораздо проще в обслуживании. – Fian
Да, я вижу, что в большинстве случаев имеет смысл централизованно управлять ими. Но в этом случае приложений это просто не имеет смысла. Спасибо! – xeor
@xeor Я пытаюсь обновить сельдерей 3.1 до 4 в моем проекте django, по какой-то причине его сбой при «auto_app_dicovery», есть ли что-то, что мы можем сделать, чтобы преодолеть это. Я знаю, что это не связано, просто интересно если вы могли бы помочь – kt14