首页 > 解决方案 > Celery-Django,开始和停止调查的提醒电子邮件

问题描述

我正在尝试在我的程序中实现一个重复的每日提醒电子邮件任务,该任务从特定日期/时间开始,仅在客户完成所需操作时才停止。

这对 Celery 和 Django 来说是可能的吗?我已经找到了一种通过 ETA 发送一次性任务电子邮件的方法——尽管我不确定如何设置一个可以取消的重复事件。

谢谢你的时间。

标签: pythondjangocelery

解决方案


为了每天发送电子邮件,Celery 提供了一个名为 Celery beat 的重复任务调度程序:

https://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html

设置 Celery beat 后,创建一个任务以根据用户信息发送电子邮件。该任务可以查看所有用户,并仅包括具有send email标记或datetime发送下一封电子邮件的信息的收件人。

如果用户完成了所需的操作,您将取消设置send email标志或删除datetime信息,并且重复任务将停止向该用户发送电子邮件。


推荐阅读