Задача задержки Celery вызывается дважды, но срабатывает только один раз

Я пытаюсь запустить задачу celery с несколькими файлами. Проще говоря, в цикле for я вызываю метод delay на задаче, и я знаю, что он вызывается, потому что я могу видеть логи перед вызовом. Однако действие внутри самой задачи выполняется только один раз.

В моем коде есть что-то вроде этого:

def operation(*args, **kwargs):
    for arg in *args:
        time.sleep(2)  # 2s interval
        celery_task.delay(kwargs)

На самом деле задача выглядит следующим образом

@shared_task(bind=True)
def celery_task(**kwargs):
    do_something()  # async

Итак, мой вопрос: есть ли какая-то проверка, которую я не могу увидеть, которая предотвращает отправку нескольких задач, или это как-то связано с разными потоками? Учтите, что я не отправляю все задания сразу, я использую интервал в 2 секунды перед вызовом задания каждую итерацию в цикле.

Вернуться на верх