我需要调用以下 2 个apply_async任务:
escalate.apply_async((e.id), countdown=3)
escalate.apply_async((e.id), countdown=3)
我的任务实现如下所示:
@app.task
def escalate(id, group):
escalation_email, created = EscalationEmail.objects.get_or_create()
escalation_email.send()
return 'sup email sent'
我使用以下命令运行工作:
celery -A proj worker -l info --concurrency=10
问题是,当我查看工作人员时,只收到 1 个任务,然后只有 1 个成功。 此外,仅发送 1 封电子邮件。
似乎大多数时候第二个升级任务会运行。
如何确保这些任务在 100% 的时间内都可靠地触发?
问题是我没有选择要与任务关联的队列。