如何在本地开发时管理多个服务?

2 投票
1 回答
706 浏览
提问于 2025-04-16 13:44

我们正在用Python开发网页应用程序,通常需要同时运行三个或更多的服务(比如搜索服务、数据库、任务队列、网页应用等),才能在本地进行项目开发。每次都手动在新的控制台中启动每个服务(然后还得记得在代码修改后重启它们)既慢又容易出错。

理想情况下,我希望能给我们项目的开发者一个简单的命令,这个命令可以:

  • 启动所有需要的服务
  • 把任何输出记录到控制台
  • 如果代码有变化,自动重启服务(可以通过像 pywatch 或 inotify 这样的工具)

1 个回答

0

我个人比较喜欢 supervisord。我在写一个结合了nginx和tornado的应用时用过它。它可以帮你启动和监控你定义的服务,并且提供一个界面让你可以一起控制这些服务。

它本身没有文件监控的功能,不过可能有插件可以实现这个功能(更新:看起来并没有这样的插件),或者你可以通过脚本发送事件来监控文件。

撰写回答