我的Django项目运行良好,并且有一个单独的后台进程,它将从各种源收集数据并将该数据存储在索引中.
我在Django应用程序中有一个模型,Sources
其中包含一个数据来源的源列表!我已成功设法创建一个信号,当一个新条目放入Sources
模型时,该信号被激活/调用.
我的问题是,是否有一个简单的方法,任何人都知道我可以发送某种形式的信号/消息到我的后台进程,表明该Sources
模型已被更改?或者我应该诉诸轮询每x秒的变化,因为它是如此简单得多?
非常感谢您收到的任何帮助.
目前还不清楚你是如何运行你正在谈论的后台进程的.
无论如何,我建议你在后台任务中Sources
直接使用模型.有一些方便的方法可以在不离开Django领域的情况下运行任务(以便可以访问您的模型.例如,您可以使用Celery [1]或RQ [2].
然后您将不需要传递任何消息,对Sources
模型的任何更改将在下次运行任务时生效.
[1] Celery是一个开源的异步任务队列/作业队列,很难与Django建立和集成.
芹菜:一般介绍
Django与芹菜介绍
[2] RQ的意思是"Redis Queue",它是一个简单的Python库,用于排队作业并在后台与工作人员一起处理它们.
介绍性的帖子
GitHub存储库