我正在用django进行监控工作。该程序需要循环 - 永远坐在后台处理接收数据和更新到数据库。
可以通过编写python脚本来完成工作,并在后台运行,例如,supervisord。但是,我更喜欢django本身的解决方案;这是服务器进程停留在循环中,侦听传入的数据包。
任何建议都是高价值和欣赏。 提前谢谢了。
答案 0 :(得分:1)
我建议您使用与Django配合使用的Celery,并支持长时间运行的任务以及其他功能。
http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html
http://docs.celeryproject.org/en/latest/getting-started/introduction.html
答案 1 :(得分:1)
如果你觉得Celery有点超大了你的需求,你也可以定义一个永远存在的custom management command并等待你的传入数据包。
答案 2 :(得分:0)
https://github.com/lukedupin/django_posix_spawn
结合使用管理命令,您可以运行不会阻止您的网站的django任务。
答案 3 :(得分:0)
如果您需要一个“ django感知”循环并且已经将celery用于异步任务,则 celery-eternal可能很合适。唯一需要注意的是,您必须使用redis作为芹菜结果后端。