我对Django比较新。我想每两周向预期的用户发送电子邮件通知。我怎么做?例如,用户将输入他们的开始日期。然后我必须弄清楚开始日期并让我的应用程序从开始日期发送通知,直到我停止此任务。这意味着发送通知将根据用户输入的开始日期而有所不同。
答案 0 :(得分:1)
Use periodic tasks with celery这是发送电子邮件通知的最佳选择。
@periodic_task(run_every=crontab(minute=0, hour='6'))
这将在每天早上6点运行该功能 有关时间表的更多详细信息,请参阅http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#crontab-schedules
答案 1 :(得分:0)
简单的解决方案是使用您的操作系统调度程序(如unise上的cron)来执行自定义management command。您必须实现一种方法来存储哪些用户应该获取哪些邮件,以便管理命令可以解决这些问题。这对于最简单的情况很好,但很快就会变得一团糟......
更复杂的解决方案是使用一些异步队列系统(Celery是通常的罪魁祸首,但有其他选择)。