用户指定时间的Django cron作业



我希望根据用户指定的时间发送通知。IE,在谷歌日历中,当我的任务时间到达时,我可以收到一条短信。

解决方案是运行cron作业,让它每分钟执行一次,并扫描哪些用户的时间等于当前时间吗?

既然你用celery标记了你的问题,我假设你有芹菜在跑。您可以使用etaapply_async()来安排任务在特定时间运行,请参阅此处:

http://docs.celeryproject.org/en/latest/userguide/calling.html#eta-和倒计时

如果您需要使用cron作业,我不会检查是否为notification_time == current_time,而是使用模型上的布尔is_sent字段来跟踪未发送的通知,并检查notification_time <= current_time and not is_sent。这似乎不太容易出错。您还可以添加某种形式的检查,以防止在系统停机数小时时大规模发送通知。

相关内容

  • 没有找到相关文章

最新更新