背景任务和django队列

时间:2015-03-23 15:23:02

标签: python django multithreading canvas

我用django构建了一个无限的绘图应用程序(类似于webcanvas)。

我制作了另一个小python应用程序,能够用cefpython渲染画布区域。

我的目标是在我的服务器上有后台任务来渲染画布上需要更新的区域(我想避免放慢我的django服务器的速度):

  • 主要的django应用程序会在用户修改画布时向队列添加渲染任务,
  • 渲染应用程序将使用此队列并在后台线程中渲染区域。

最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

我以这种方式解决同样的问题:

  • 存储在PostgreSQL中的队列(我使用它因为它已经存在,PostgreSQL有足够的性能用于我的目的,我不想要过于复杂的基础设施)。
  • 渲染正在使用multiprocessing module。它与upstart一起运行。我正在使用暴发户,因为这是运行单独应用程序的最简单方法。

如果要限制应用程序的可用资源,可以进行设置 upstart中的限制:limit rss 231236400 231236400(以字节为单位的大小),或使用cpulimit运行应用程序。