問題タブ [supervisord]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - スーパーバイザーで Tornado が正常に再起動しない
私はトルネードを使用してフラスコアプリを実行しています.少し作業をしてからアプリを実行するシェルスクリプトがあります.
私はスーパーバイザーを使用して、この小さなスクリプトを管理しています。起動は問題なく動作しますsudo supervisorctl start theapp.sh
が ( )、再起動しようとすると、python サブプロセスが終了せずにハングアップし、ポートが占有され、再起動が妨げられます。スクリプトがスーパーバイザーによって停止されたときに Python コードが実際に停止されるようにトラップを追加しようとしましたが、これは機能しませんでした。gevent の wsgi サーバーのトルネードを切り替えてみましたが、同じ問題がありました。この小さなスクリプトをどのように実行すればよいですか?
supervisord - Supervisorctl ERROR(異常終了)
私が走るsudo supervisorctl start stage
と、私は得るERROR (abnormal termination)
。見ていただけませんか?
これが私のファイルです/etc/supervisord.conf
。私は何かが足りないのですか?ありがとう
python - 特定のプロセスで「supervisorctl tail」はどのように機能しますか?
supervisorctl tail
特定のプロセスのログ情報はどこから取得しますか? 完全なログを取得するにはどうすればよいですか?
monitoring - Supervisor がコードの変更を認識しないのはなぜですか?
スーパーバイザーを使用して、デプロイ用の git を使用して EC2 インスタンスで node.js アプリケーションを管理しています。スーパーバイザーは、アプリケーションが常に稼働していることを確認しますが、新しいサーバー側のコードをリモート サーバーにプッシュするたびに、それらの変更を認識しない傾向があります。スーパーバイザー プロセスを強制終了して再起動する必要があります。私が間違っていることはありますか、それともこれは標準的な動作ですか?
supervisord - Supervisordの[supervisord]構成セクションで環境変数を使用するにはどうすればよいですか?
私はSupervisordのプログラムセクションで環境変数を使用していますが、それらは問題なく機能します。
[監視対象]セクションで同じことを行う方法がわかりません。ENV_プレフィックスがある場合とない場合で同じ構文を使用しようとしましたが、次のエラーが発生します。
それを達成する方法はありますか?
python - xmlrpcを介して監視対象と話している
supervisor
xmlrpcを介して話をしようとしています。supervisorctl
(特にこの行)に基づいて、次のようになります。これは、サーバーからエラーを受信するのに十分に接続されている限り、機能するはずであり、実際に機能します。
このエラーの結果:
これはのunix_http_server
セクションですsupervisord.conf
:
したがって、認証の問題はないはずです。
私のコードは、すべての重要な点で、の同等のコードと同じように見えますがsupervisorctl
、supervisorctl
実際には機能します。私は何が間違っているのですか?
haproxy - haproxy、paster、node js を使用した Supervisord
アプリ用にpaster serveを実行し、リアルタイム要件用にnodejsを実行する必要がありますが、どちらもhaproxyを介して構成されていますが、ここではhaproxyをsudoとして実行して、ポート80と他のプロセスを通常のユーザーとしてバインドする必要があります。さまざまな方法を試しましたが、役に立ちませんでした。このコマンドを試しました
コマンド = sudo haproxy
これは私たちがこれを行うべき方法ではないと思います。何か案は?
linux - Supervisord のコマンドが「stdout_log およびシステム コマンド」に失敗する
Supervisord を使用して監視する C++ 実行可能ファイルがあります。そして、起動プロセスとしてsupervisordを作りました。再起動すると、supervisord と実行可能ファイルが (機能的に) 正常に動作します。Stdout_log ファイルは tmp に作成されます (これも問題ありません)。しかし、ログ ファイルは空です。
そして、私の実行可能ファイルでは、system() を使用して実行するいくつかの bash スクリプトを実行していますが、それも失敗しています。
だから私は2つの問題があります
- ログファイルが空です
- system() が失敗しています
これらの問題を何らかの許可に関連付けることはできますが、修正する手がかりはありません。いくつかの提案を探しています
ありがとう
python - Buildoutを使用してアプリのバージョン切り替えを実行するにはどうすればよいですか?
私のアプリケーションはFlaskで開発されており、ビルドアウトを使用して依存関係の分離を処理します。私はGunicornを使用し、wsgiコンテナーおよびプロセスマネージャーとして監視を行う予定です。その前に、負荷分散を行うNginxがあります。アプリケーションの新しいバージョンをデプロイするときの問題は次のとおりです。すべてがサブフォルダーに組み込まれています。バージョンの切り替えを適切に実行できるように、gunicornサーバーを再起動する方法を教えてください。
もちろん、私はいくつかの解決策を考え出します:
gunicornとsuperviosrdを破棄し、apache mod_wsgiに切り替えます。新しいバージョンをデプロイするときに、.wsgiファイルのフォルダーを変更するだけで、サーバーが再起動します。
virtualenvを使用し、gunicorn、supervisord、およびアプリケーションパッケージをインストールするため、バージョンを切り替えるときは、supervisorctlを使用して再起動します。
この状況を達成できる「純粋な」ビルドアウト方法はありますか?または、使用中の本番ソリューションはすべて高く評価されます。
前もって感謝します。
environment-variables - 実行する前に環境変数をロードする
一部のアプリケーション設定をMYSQL_URL=mysql://などの環境変数に保存する予定です。supervisordを使用してアプリケーションプロセスを管理します。サブプロセスが開始される前に環境変数をロードする方法は?特にこれらの設定が変更された場合、サブプロセスを再起動すると新しい設定が読み込まれることを願っています。
また、これらの環境変数をどこに保存するのか疑問に思っています。「$(catfilename)をエクスポート」できるファイル?またはいくつかのより良い方法。Herokuが環境変数をどのように管理しているか興味があります。