django项目背后的背景线程

时间:2014-01-12 06:08:59

标签: python django multithreading background

我从未在网络应用程序/服务方面工作,也不确定这是否适合我的工作: 我有数据收集系统从串口收集数据,也想使用Web服务向用户呈现数据。我正在考虑创建一个Django项目来在网站上显示我的数据。另外,为了收集数据,我需要在网站启动时运行一些后台线程。我正在尝试在数据收集线程中重用我的django项目中定义的模型。

首先,我想知道这是否合理?如果是的话,有没有简单的方法呢?我看到很多关于使用芹菜的后台任务的主题,但那些是非常复杂的场景。这不是一个简单的方法吗?

1 个答案:

答案 0 :(得分:0)

芹菜很好,如果你需要在后台运行任务。例如,当一个主工作人员向celery服务器(或服务器)发送任务时,它可能是与Web工作者的交互(如发送电子邮件,在商店中发送大量更新等),也可能是并行任务。

在你的情况下,我认为更好的解决方案是:

  • 创建一个守护进程,它将以无限循环与您的SERIAL PORT对话,并在某处保存数据。
  • 网络工作者,将读取此数据并向用户表示。
  • 如果需要类似的,长时间的查询和大量的用户计算,你可以将Celery添加到你的堆栈中,这个芹菜将作为web worker工作,只需读取数据并将结果返回给web worker。