python - Celery-Django,开始和停止调查的提醒电子邮件
问题描述
我正在尝试在我的程序中实现一个重复的每日提醒电子邮件任务,该任务从特定日期/时间开始,仅在客户完成所需操作时才停止。
这对 Celery 和 Django 来说是可能的吗?我已经找到了一种通过 ETA 发送一次性任务电子邮件的方法——尽管我不确定如何设置一个可以取消的重复事件。
谢谢你的时间。
解决方案
为了每天发送电子邮件,Celery 提供了一个名为 Celery beat 的重复任务调度程序:
https://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html
设置 Celery beat 后,创建一个任务以根据用户信息发送电子邮件。该任务可以查看所有用户,并仅包括具有send email
标记或datetime
发送下一封电子邮件的信息的收件人。
如果用户完成了所需的操作,您将取消设置send email
标志或删除datetime
信息,并且重复任务将停止向该用户发送电子邮件。
推荐阅读
- javascript - Mobx 和 React 异步函数调用会冻结 UI,而 onClick 调用不会
- c++ - 使用内核驱动程序c ++写入只读地址
- c# - StringBuilder AppendLine 方法未将换行符添加到 HTML 输出
- c++ - c++ 中的 unordered_set 中是否存在任何顺序?
- amazon-redshift - 需要在 LAG 函数中包含偏移值作为 expr
- javascript - 有没有办法使用 highcharts 更改系列显示值
- sql - 在给定开放和关闭日期的情况下,随时间生成开放票的计数
- c++ - Boost::asio 到 Struct(如 recv)
- python - 如何使用 Python 删除 JavaScript 和其他标签...而不导入模块
- mysql - MySQL根据列B中的值排除列A中的结果,其中值在不同的行中