【发布时间】:2015-04-27 05:45:14
【问题描述】:
我正在构建一个 django 应用程序,它具有一些发送电子邮件/短信通知的功能。这些通知应该在后台异步发送。我已经遇到过芹菜并玩了一下,我认为它非常棒。现在,通知存储在模型中,其中一个字段“状态”指示是否已发送通知。我目前需要一种方法来监视我的数据库表中的通知状态,以检查状态是 0 - 未发送还是 1 - 已发送。如果状态为 0,则应调用 celery 任务以发送状态为 0 的通知。那么,监控数据库表的最佳方法是什么?也许是一个守护进程?
【问题讨论】:
-
是什么负责将模型置于一种需要首先发送通知的状态?你不能从那里触发 Celery 工作吗?
-
如果在状态设置为 0 后不久发送通知并不紧急,您可以使用 cron 设置计划作业并指定它应该运行的时间。
-
@DanielRoseman 这不是处于状态的模型......通知是。取决于它的状态,即 0(未发送)或 1(已发送)。
-
@nejc92,紧急设置通知状态为0后,立即发送。
-
当然,但我的意思是某些东西将通知状态设置为 0。所以在我看来,同样的代码也应该触发 Celery 作业。
标签: python django python-3.x celery