从基于WSGI的Web应用程序在Linux上执行进程

时间:2012-08-22 18:24:42

标签: linux wsgi

我有一个仪表板,我希望在用户点击按钮时运行一个进程。这个过程可能需要很长时间才能完成。

到目前为止我的选择:

  1. 使用popen或类似的东西来执行流程
  2. 让守护程序监视目录。更改此目录(创建文件)后,守护程序将执行该作业,然后在再次空闲之前删除该文件。
  3. 使用cron,每5秒运行一次并监视一些目录。
  4. 哪一个更适合Linux?有没有我没有考虑过?

2 个答案:

答案 0 :(得分:1)

另一种选择是让一个守护进程(如第二个选项中那样)监听某个套接字。然后,您的WSGI应用程序可以只连接&发送命令。通过套接字进行通信的方式有很多种,选择正确的方式很大程度上取决于实际情况。

这样做的好处是,您最终可以在不同的计算机或VM上运行两个应用程序(WSGI和守护程序)。

答案 1 :(得分:1)

这就是Celery和Redis Queue等任务排队系统的用途。