python - Django后台无限循环进程管理

标签 python django multithreading postgresql celery

我在尝试找出使用具有特定要求的 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/

相关文章:

python - 标签 python 内的部分文本

python - 在 Django 中运行测试时如何发送电子邮件?

django - 根域的 href 值?

multithreading - std::thread C++ 11 无法解释为什么

独立对象之间的 Java 线程处理

c# - 线程池最大线程数

python - 两次调用 GetListFeed 失败 (gdata.spreadsheet.service.SpreadsheetsService())

python - 使用 if 条件在 Python 中创建键/值对

python:将 numpy 数组数据类型从 int64 转换为 int

python - Django如何按日月顺序对日期字段进行排序以显示生日列表