Я использую Celery для управления планированием задач в приложении Django, которое я разрабатываю, я работаю с базой данных Django только для тестирования.
Я просто попробовал несколько действий для обработки выполнения задачи, только если она еще не запланирована или не выполнена, как предлагаемая в этой статье , но пока ничего не сделано.
Что-то вроде этого:
task.py
@task()
def add(x, y):
return x + y
И затем, когда вы вызываете его дважды, как следующим образом:
import myapp.tasks.add
myapp.tasks.add.apply_async((2,2), task_id=1, countdown=15)
myapp.tasks.add.apply_async((2,2), task_id=2, countdown=15)
Должно быть разрешено использование одного экземпляра в countdown=15
. Как я могу добиться, чтобы второй вызов никогда не выполнял его, если есть другой запуск или ожидание?