2

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

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

我需要执行外部进程,保存 pid/标识符,然后才能检查它是否还活着并运行并停止进程。

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

任何其他想法如何最好地解决这个问题?

4

1 回答 1

1

我建议你看看这个帖子:

使用 Celery + RabbitMQ + Supervisord + Monit 处理长时间运行的 Django 任务

正如标题所说,涉及到一些额外的组件(主要是 celery 和 rabbitMQ),但对于这种需求,这些都是经过验证的良好技术。

于 2013-05-28T09:28:18.710 回答