0

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

到目前为止我的选择:

  1. 使用 popen 或类似的东西来执行这个过程
  2. 有一个守护进程监视一个目录。当此目录更改(创建文件)时,守护程序将执行该工作,然后在再次空闲之前删除该文件。
  3. 使用 cron,每 5 秒运行一次,还监视一些目录。

哪一个对 Linux 更友好?有没有我没有考虑过的?

4

2 回答 2

1

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

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

于 2012-08-22T20:59:41.210 回答
1

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

于 2012-08-23T01:16:28.823 回答