Python从Django启动和管理外部进程

时间:2013-05-28 09:22:45

标签: python django

我需要一种从用Django和Python编写的Web应用程序执行外部长时间运行进程的方法。

现在我正在使用Supervisord和API。我对这个解决方案的问题在于它非常静态。我需要从我的应用程序构建命令,而不必使用所有可能的命令预先配置Supervisord。参数和命令是动态的。

我需要执行外部进程,保存pid /标识符,然后能够检查它是否仍然存在且正在运行并停止进程。

我发现https://github.com/mnaberez/supervisor_twiddler可以动态添加进程给supervisord。也许这是最好的方式?

如何最好地解决这个问题?

1 个答案:

答案 0 :(得分:1)

我建议你看一下这篇文章:

Processing long-running Django tasks using Celery + RabbitMQ + Supervisord + Monit

正如标题所说,还有一些额外的组件(主要是芹菜和rabbitMQ),但这些是满足这种要求的良好且经过验证的技术。