5
我正在使用Supervisor在具有git的EC2实例上管理我的node.js应用程序以进行部署。主管在确保我的应用程序保持良好状态方面做得很好,但是当我将新的服务器端代码推送到远程服务器时,它往往无法识别这些更改。我需要杀死主管进程并重新启动它。有什么我做错了,还是这种标准的行为?Supervisor为什么不识别代码更改?
我正在使用Supervisor在具有git的EC2实例上管理我的node.js应用程序以进行部署。主管在确保我的应用程序保持良好状态方面做得很好,但是当我将新的服务器端代码推送到远程服务器时,它往往无法识别这些更改。我需要杀死主管进程并重新启动它。有什么我做错了,还是这种标准的行为?Supervisor为什么不识别代码更改?
这是标准行为; supervisord不检测代码中的更改。它只会在进程停止或死亡时重新启动进程。
只要指示supervisord在您推送更改时重新启动应用程序。 supervisorctl restart programname
是好的,不需要杀死并重新启动supervisord本身。
如果监督配置更改,请使用supervisorctl update
。
谢谢! 'supervisorctl'居住在哪里?我需要为它设置任何配置吗? – user730569 2012-07-11 15:47:08
@ user730569:与'supervisord'相同的地方;请参阅http://supervisord.org/introduction.html#supervisor-components – 2012-07-11 19:14:42
@ user730569:此文档也是一个有用的部分:http://supervisord.org/running.html – 2012-07-11 19:15:52