首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django实时实时通知系统

Django实时实时通知系统
EN

Stack Overflow用户
提问于 2020-05-28 06:25:10
回答 2查看 558关注 0票数 0

我正在尝试建立一个通知系统,在完成某个特定操作或达到某个日期时,基本上通知用户或超级用户。

假设我有一个模型,它有一个日期时间域。我希望我的系统给我发一封电子邮件,当那个日期时间离我5天零1分钟,显然适用于该模型的所有对象。或者说,我想在那个日期的那一刻发送通知邮件。另外,我需要这种动态,这样我就可以更改或删除这些通知的条件,并且可能在同一个模型上有多个通知条件。

现在,我确实考虑过调度任务(我还不知道怎么做),但我认为这会使系统慢下来,比如数百个模型对象,甚至数千个。

我来到这里,用另一个问题困扰这个令人惊叹的社区的原因是,我想知道以下几点:

  • 是否已经有了这样的Django应用程序,但经过几个小时的搜索,我还是找不到?
  • 如果不是,调度任务是唯一的选择吗?如果是这样的话,可以从一个链接来引用吗?虽然我猜,如果有太多的任务安排可能是不好的(同样,我也不知道,我可能也错了)。如果是这样的话,你们这些了不起的人有什么建议?

谢谢你花时间看这个。我真的很感激这个社区。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-28 08:42:21

你需要安排任务。您可以使用django crontab创建计划任务(cron作业)。这是超级容易设置。您可以每分钟运行一次cron作业,检查数据库中所关心的日期时间字段,并采取所需的操作。如果您正确地查询您的db,它应该不会很昂贵,但我不会建议您每分钟运行一个cron作业,除非您有一个专用的服务器,而且您不需要像在无服务器环境中那样为执行时间付费。

摘要

  1. 对于静态cron作业,您可以使用django-cron-tab
  2. 对于动态的cron作业,您可以使用django-celery-beat

Django芹菜节拍使您能够将定期任务调度存储在数据库中。周期任务可以通过Django管理界面进行管理,您可以在其中创建、编辑和删除定期任务,以及它们应该运行的频率。

票数 0
EN

Stack Overflow用户

发布于 2020-05-28 08:28:53

我认为您想要的不是django端,在pythonanywhere中,您可以运行一个控制台应用程序,不需要弯腰运行,您可以随心所欲地运行它,它们还有调度任务,您可以设定运行python文件的时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62058298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档