Мое приложение собирает кучу телефонных номеров на странице. Когда пользователь нажимает кнопку отправки, я создаю задачу celery для вызова каждого номера и отправки напоминания, а затем перенаправляет их на страницу, где они могут видеть текущие обновления о вызове. Я использую веб-сокеты, чтобы жить, обновляя статус каждого вызова и нуждаясь в том, чтобы задачи выполнялись синхронно, поскольку у меня только есть доступ для набора номера из одного номера.
Итак, как только первый вызов/задача будет завершен, я хочу, чтобы следующий из них погас.
Я посмотрел настройки CELERY_ALWAYS_EAGER, но он просто прошел первую итерацию и остановился.
@task
def reminder(number):
# CODE THAT CALLS NUMBER HERE....
def make_calls(request):
for number in phone_numbers:
reminder.delay(number)
return redirect('live_call_updates')