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

从基于WSGI的web应用程序在Linux上执行进程,linux,wsgi,Linux,Wsgi,我有一个仪表板,我希望在用户单击按钮时运行一个进程。这一过程可能需要很长时间才能完成 我目前的选择: 使用popen或类似的工具来执行流程 让守护进程监视目录。当此目录被更改(创建了一个文件)时,守护进程将执行此任务,然后在再次空闲之前删除该文件 使用cron,每5秒运行一次,并监视一些目录 哪一个对Linux更友好?还有什么我没有考虑过的吗?另一个选择是让一个守护进程(如您的第二个选择)监听某个套接字。然后,您的WSGI应用程序就可以连接并发送命令。通过套接字进行通信的方式有很多种可能性,选择

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

我目前的选择:

  • 使用popen或类似的工具来执行流程
  • 让守护进程监视目录。当此目录被更改(创建了一个文件)时,守护进程将执行此任务,然后在再次空闲之前删除该文件
  • 使用cron,每5秒运行一次,并监视一些目录

  • 哪一个对Linux更友好?还有什么我没有考虑过的吗?

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


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

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

    看起来很有希望,但在这种情况下有点过头了。