Как перезапустить запущенную задачу и ожидающую задачу в сельдерее после принудительного завершения работы работника?

#python #django #celery #django-celery #flower

Вопрос:

В настоящее время я выполняю задачу в сельдерее, выполнение которой занимает 10-15 минут, но проблема в том, как перезапустить задачу, которая в данный момент выполняется в рабочем режиме, а также задачу, которая в данный момент не выполняется, но ожидает выполнения задачи, пока я принудительно остановил работника или в случае сбоя или остановки моего сервера. Что происходит прямо сейчас, так это то, что если я снова начну сельдерей, это не будет запуском последней запущенной задачи или оставшейся задачи.

Ответ №1:

одна вещь, которую вы можете сделать, — это включить acks_late задачу. Кроме того, вероятно, стоит прочитать их раздел часто задаваемых вопросов об акциях поздно и повторить попытку.

 @app.task(acks_late=True)
def task(*args, **kwargs):
    ...