在我的Django项目中,用户可以注册免费试用,但如果他们未在15天内完成购买,他们的帐户将被锁定,直到他们完成购买.13天后(即48小时内或到期日)我希望发送一封电子邮件给注册用户提醒他/她购买.
目前,我有一个cron作业设置为每天运行并检查所有试用帐户,如果注册日期和当前日期是相隔2天,如果是这样,我发送电子邮件.
我想知道是否有更优雅的解决方案来做到这一点?
如果您不想弄乱您的 cron 文件,您应该查看Celery,这是一个用 Python 编写的异步任务队列。它最初是根据 Django 创建的,但后来被分解为一个单独的包。然后你要做的是设置一个Celerybeat 时间表,如下所示:
CELERYBEAT_SCHEDULE = {
"purchase-reminder": {
"task": "accounts.tasks.remind",
"schedule": timedelta(hours=24),
},
}
Run Code Online (Sandbox Code Playgroud)
这将每 24 小时调用一次任务(读取:函数)accounts.tasks.remind。
| 归档时间: |
|
| 查看次数: |
934 次 |
| 最近记录: |