2012-07-10 12 views
5

私はSupervisorを使って、配備のためにgitを使ってEC2インスタンス上のnode.jsアプリケーションを管理しています。スーパーバイザはアプリケーションを確実に保つことができますが、新しいサーバーサイドコードをリモートサーバーにプッシュするたびに、その変更を認識しない傾向があります。スーパーバイザプロセスを強制終了して再起動する必要があります。私が間違っていることがあるのですか、あるいはこの標準的な行動ですか?Supervisorがコード変更を認識しないのはなぜですか?

答えて

10

これは標準的な動作です。 supervisordはコードの変更を検出しません。プロセス自体が停止したり終了した場合にのみプロセスを再起動します。

変更を押すたびに、アプリケーションを再起動するようにsupervisordに指示してください。 supervisorctl restart programnameは問題ありません。スーパーバイザ自体を強制終了して再起動する必要はありません。

スーパーバイザ構成が変更された場合は、supervisorctl updateを使用してください。

+0

ありがとう! 'supervisorctl'はどこに住んでいますか?私はそれのための任意の設定を設定する必要がありますか? – user730569

+0

@ user730569:「supervisord」と同じ場所。 http://supervisord.org/introduction.html#supervisor-componentsを参照してください。 –

+0

@ user730569:ドキュメントの便利な部分:http://supervisord.org/running.html –

関連する問題