在Django的特定时间触发通知

时间:2010-11-18 14:15:14

标签: django scheduled-tasks push-notification

我创建了一个我希望在自定义时间接收通知的iPhone应用程序。后端Django应用程序有一个事件队列,其中包含应将事件提醒推送到iPhone客户端的日期。这就像eBay的Watch Alert;当观看的项目的投标期即将结束时,易趣会向您发送一条提醒您的消息。

使用Django在后端实现此功能的最佳方法是什么?我对使用cron犹豫不决,因为会有大量的事件,而且我不想为每个事件安排一个cron作业。另外,我希望事件通知系统的模型(很高兴使用适配器)来使用事件队列,这样如果事件被删除或更新,事件通知系统将不会使用过时的模型数据。

2 个答案:

答案 0 :(得分:5)

cron是正确的工具,但您不希望每个事件都有单独的cron条目。相反,cron应该触发一个Django脚本,该脚本检查数据库是否有任何通知,并触发它们。

答案 1 :(得分:3)

您可能需要考虑Celery及其periodic scheduled tasks。然后,您可以直接从Python代码安排任务,而无需为每个代码添加crontab条目。