我在尝试找出使用具有特定要求的 Django 运行后台进程的最佳方法时遇到困难。
我希望能够做什么:
- 进程启动后会无限循环运行(需要 2 个后台进程,不多也不少)
- 每个进程的启动/停止/获取状态
- 能够访问 Postgres DB(排除子进程模块(我认为))
- 即使没有用户访问该网站,该进程也会在后台继续运行(如果已启动)。
编辑:
- 当我需要运行的任务启动时,它必须使用数据库信息初始化自身,以便收集它需要的内容。初始化后,它将新信息与先前的结果进行比较以获得增量值。不幸的是,每次任务运行时重新初始化都无法实现这一目的,并且它必须以连续循环的方式运行,除非用户故意停止。
我考虑过但无法找到可靠的文档来说明如何做我想做的事情:
- celery
- 需求请求
- django-后台任务
我在virtualenv中的requirements.txt(当前正在尝试让celery工作):
1 amqp==1.4.7
2 anyjson==0.3.3
3 billiard==3.3.0.21
4 celery==3.1.19
5 Django==1.8.6
6 django-crispy-forms==1.5.2
7 kombu==3.0.29
8 psycopg2==2.6.1
9 pytz==2015.7
10 redis==2.10.5
11 requests==2.8.1
12 uWSGI==2.0.11.2
13 wheel==0.24.0
如果我没有提供有关我的问题的足够信息,我提前道歉(这是我第一次发帖)。
最佳答案
我认为 Celery 适合你。您可以看一下pereodic tasks用于一些后台任务。
而且,开始将 Celery 与 Django 结合使用也非常容易。可以开始学习了here .
关于python - Django后台无限循环进程管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33879769/