Supervisor中的多个命令 - Python/Linux

5 投票
1 回答
6165 浏览
提问于 2025-04-16 09:10

我正在使用一个很棒的工具 supervisord


我很高兴地运行着几个应用程序,并且编辑配置文件如下:

[program: Django Dev Server]
command=python /path/to/project/manage.py runserver 127.0.0.1:8000

[program: MongoDB]
command=sudo /path/to/mongod

现在的问题是,有些应用在启动之前需要执行一些命令,以便为启动做好准备。

比如说,检查一些条件、清理文件夹等等……


有什么好主意吗?

1 个回答

8

与其直接调用 manage.py,不如写一个脚本(可以叫它 start_manage.py),这个脚本可以先检查一些条件,清理文件夹等等,然后再去调用 manage.py(可以用 subprocess.Popen 来实现)。当然,如果你觉得用 shell 脚本更合适,也可以把 start_manage 写成一个 shell 脚本。

接着,修改配置文件,让它运行

command=python start_manage.py

撰写回答