#python #django #celery #django-celery #flower
Вопрос:
В настоящее время я выполняю задачу в сельдерее, выполнение которой занимает 10-15 минут, но проблема в том, как перезапустить задачу, которая в данный момент выполняется в рабочем режиме, а также задачу, которая в данный момент не выполняется, но ожидает выполнения задачи, пока я принудительно остановил работника или в случае сбоя или остановки моего сервера. Что происходит прямо сейчас, так это то, что если я снова начну сельдерей, это не будет запуском последней запущенной задачи или оставшейся задачи.
Ответ №1:
одна вещь, которую вы можете сделать, — это включить acks_late
задачу. Кроме того, вероятно, стоит прочитать их раздел часто задаваемых вопросов об акциях поздно и повторить попытку.
@app.task(acks_late=True)
def task(*args, **kwargs):
...