Django后台死循环进程管理
Django background infinite loop process management
我在尝试找出 运行 具有特定要求的 Django 后台进程的最佳方法时遇到了问题。
我希望能够做的事情:
- Process(es) 运行(s) 一旦开始无限循环(将需要 2 个后台进程,不多也不少)
- Start/Stop/Get_Status 每个进程
- 能够访问 Postgres DB(排除子进程模块(我认为))
- 即使没有用户访问该网站,如果启动,该进程也会在后台继续 运行。
编辑:
- 当我需要 运行 的任务开始时,它必须使用 DB 信息初始化自身以收集它需要的东西。初始化后,它将新信息与先前的结果进行比较以获得增量值。不幸的是,每次任务 运行s 都无法实现此目的时重新初始化,并且它必须 运行 连续循环,除非用户有意停止。
我考虑过但未能找到有关如何做我想做的事情的可靠文档的选项:
- 芹菜
- RQ
- 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.
我在尝试找出 运行 具有特定要求的 Django 后台进程的最佳方法时遇到了问题。
我希望能够做的事情:
- Process(es) 运行(s) 一旦开始无限循环(将需要 2 个后台进程,不多也不少)
- Start/Stop/Get_Status 每个进程
- 能够访问 Postgres DB(排除子进程模块(我认为))
- 即使没有用户访问该网站,如果启动,该进程也会在后台继续 运行。
编辑:
- 当我需要 运行 的任务开始时,它必须使用 DB 信息初始化自身以收集它需要的东西。初始化后,它将新信息与先前的结果进行比较以获得增量值。不幸的是,每次任务 运行s 都无法实现此目的时重新初始化,并且它必须 运行 连续循环,除非用户有意停止。
我考虑过但未能找到有关如何做我想做的事情的可靠文档的选项:
- 芹菜
- RQ
- 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.