Сельдерей apply_async будет вызван несколько раз - PullRequest
0 голосов
/ 14 декабря 2018

Я создал задачу

@app.task(bind=True, max_retries=1)
def notify_feedback(self, req_id):
    #some things

Я вызвал эту задачу с моей точки зрения с задержкой в ​​1 час, как

later = datetime.datetime.utcnow() + datetime.timedelta(hours=1)
notify_feedback.apply_async((req_id,), eta=later)

Когда я проверял сообщения SQS в полете, этоимеет 1 счет, ожидающий через час, этот notify_feedback вызывается несколько раз.Кто-нибудь сталкивался с такой проблемой с сельдереем?

сельдерей - 4.1.0 используется

1 Ответ

0 голосов
/ 14 декабря 2018

Я тоже сталкивался с такой проблемой, но задержал задачу более чем на 1 час.

Когда я установил это в settings.py my, я решил свою проблему.

BROKER_TRANSPORT_OPTIONS = {'visibility_timeout': 86400}

Тайм-аут видимости определяет количество секунд, в течение которых работник должен подтвердитьзадание перед отправкой сообщения другому работнику.

Подробнее там .

...