問題タブ [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.

0 投票する
1 に答える
1832 参照

python - xmlrpc 経由で Supervisord にプログラムから安全にアクセスするにはどうすればよいですか?

Supervisord のセットアップをプログラムで管理できるようにする必要があります。さらに、システム上のどのユーザーも、supervisord の構成にアクセスできないようにする必要があります。このため、何らかの方法で通信を保護する必要があります。

私は、supervisord が XML-RPC の形式でプログラムによるアクセスを提供していることを知っています。ドキュメントを読み、いくつかの方法で作業を試みましたが、問題が発生し続けています。

  1. 紹介ページのドキュメントでは、XML-RPC インターフェイス用に HTTP サーバーを実行し、Python 標準ライブラリxmlrpclibを使用して通信することを推奨しています。ここには 2 つの問題があります。

    • Supervisord.confのinet_http_serverディレクティブには、設定としてユーザー名、パスワード、およびポートのみが含まれます。接続を暗号化するオプションはありません。
    • xmlrpclib は、ユーザー名とパスワードさえサポートしていません。構文を使用するとusername:password@host:port、 が得られIOError: unsupported XML-RPC protocolます。ドキュメント ページの例でわかるように、認証は行われません。
  2. UNIX ソケットは安全なので、[unix_http_server]xmlrpclib を使用して に接続するのは良い考えだと思いました。それでも、認証がどのように機能するかはわかりません。さらに、xmlrpclib はネットワーク HTTP/HTTPS サーバーしかサポートしていません。

  3. supervisor.rpcinterfaceドキュメントの別のページでは、モジュールについて言及しています。ただし、Pythonではそのようなものにアクセスできません。その理由についてさらに詳しい情報を収集するために、Pip を使用して Supervisord を再インストールしました。sudo pip install --upgrade supervisor. pip 出力に、行が表示されSkipping installation of /usr/local/lib/python2.6/dist-packages/supervisor/__init__.py (namespace package)ます。名前空間パッケージのインストールをスキップする理由がわかりません。

Supervisord とプログラムで安全に通信するにはどうすればよいですか?

0 投票する
1 に答える
7511 参照

supervisord - Supervisord が強制終了されたプロセスを開始しない

Ubuntu 10.04にsupervisordインストールしましたが、Javaプロセスを継続的に実行し、何らかの理由で停止またはクラッシュしたときにプロセスを修復(リロード)するはずです。

私のhtop場合、SIGKILL、SIGTERM、SIGHUP、SIGSEGVシグナルをそのJavaプロセス/etc/logs/supervisord.logに送信し、ファイルを監視すると、それは言います。

08:38、SIGSEGV でプロセスを強制終了します。なぜコード 0 で終了し、まったくsupervisord再起動しないのですか?

この特定のプログラムに関する私のすべてsupervisord.confは次のとおりです。

Supervisord を起動すると、プロセスは正常に動作しますが、修復されません。

ところで、システム全体の再起動時に自動的に起動するように、supervisord をサービスとして起動する方法はありますか?

0 投票する
2 に答える
14647 参照

supervisord - スーパーバイザー - Python スクリプト PYTHONPATH の問題を実行する

スーパーバイザーを使用して Python スクリプトを実行しています。

しかし、プロセスは開始できません。エラーログの内容は次のとおりです。

mymoduleを取得しているようですが、twitter.pyを単独で実行すると、すべて正常に動作し、スーパーバイザーを介して実行したときにのみこのエラーがスローされます。

~/.profile ファイルの PYTHONPATH に mymodule を次のように追加しました。

ターミナルを介して実行するとスクリプトが機能するのに、スーパーバイザーを介して実行するとスクリプトが機能しない理由はありますか? どんな助けでも大歓迎です。

0 投票する
1 に答える
6679 参照

php - PHPとGearmanの複数のプロセスの追加を監視

最近、PHP5-FPM、Gearman、Supervisorを使用してUbuntuNattyをセットアップしました。Gearmanワーカーを実行するようにSupervisord構成を編集しました。

lsof -i -Pスーパーバイザーを実行する前の関連情報(gearmandプロセスとphpプロセスのみを表示)は次のとおりです。

そして、これが私が私を追いかけたときに私が得るものlsof -i -Pです/etc/init.d/supervisor stop && /etc/init.d/supervisor start

監視対象自体のリストが表示されません。監視対象をコマンドの1つとして表示する必要がありますか?!

とにかく、私が停止して再開(または再起動)すると、監視対象は次のようになります。

監視を停止して開始するたびに、別のphpプロセスが作成され、次に別のプロセスが作成されるようです。ギアマンドを再起動したときだけ、通常の状態に戻り/etc/init.d/gearman-job-server stop && /etc/init.d/gearman-job-server startます。

これは私には異常に思えます。私が監督をやめると、それはやめることになっているということです。

これは監視対象の動作方法ですか?!これを防ぐ方法はありますか?!

前もって感謝します。

編集

問題の原因を突き止めました。これは、supervisord.confおよび私のinitスクリプトとの小さな競合でした。

私のsupervisord.confファイルには次の設定がありました。

しかし、私のinitスクリプトに/etc/init.d/supervisordは次の設定がありました。

そのため、supervisord.confの設定を、initスクリプトの設定と一致するように変更しました。

stopsignal=KILLまた、 supervisord構成ファイル(supervisord.conf)のプログラム構成に追加しました。

指示してくれたミナズに感謝します。

0 投票する
1 に答える
860 参照

django - セロリがジャンゴを遅くする

SQLiteを使用したdjango1.3サイトがあります。それはうまくいきます。

最近、django-kombuと一緒にdjango-celeryをインストールしました。私はsupervisordを使用して、次のコマンドでセロリのダメオンを起動しています。

python manage.py celeryd -v 2 -B -s celery -E

celerydを起動するとシステムがクロールすることを除いて、すべてが機能します。topを使用すると、共有サーバー上のCPUの5%から10%を消費する長時間実行のPythonプロセスを作成していることがわかります。

テスト中、セロリのタスクはスケジュールされておらず、実行されていません。

0 投票する
1 に答える
9960 参照

php - Supervisor が管理している PHP スクリプト内から Supervisor プロセス (プロセス制御システム) を停止するにはどうすればよいですか?

Supervisorを使用して PHP スクリプトを並列化しています。私のスクリプトがデータベースから特定の応答を受け取ると、コマンドを実行して、Supervisord デーモンの制御下にあるすべてのプロセスを停止しますsupervisorctl。コマンドは次のとおりです。

問題は、このコマンドが、スーパーバイザーの制御下にある PHP スクリプト内からトリガーされた場合、何の影響もないように見えることです。なんで?

スーパーバイザー内で実行されているこのプロセス グループを開始し、コマンド ラインから直接スクリプトの別のインスタンスをトリガーすると、すべてのスーパーバイザー プロセスが停止します。

何が起こっている?デーモン化されたPHPスクリプトはexec()シェルコマンドではありませんか?

0 投票する
0 に答える
236 参照

ruby - Supervisord と Ruby 1.9.2 - スリープの原因 SIGTERM

Mac(10.7.2)でsupervisordを使用して、バックグラウンドのRubyプロセスを管理しています。

スーパーバイザー経由で ruby​​ スクリプトを起動すると、スクリプトに が含まれているsleep()と、CPU 使用率を下げるためにSIGTERM、スーパーバイザーのプロセスがまだ実行中であっても、スクリプトは を受け取り、実行を停止します。

0 投票する
1 に答える
7025 参照

supervisord - Supervisorctl は実行中のプロセスを追跡しません

問題

スーパーバイザーに実行中のプロセスを適切に追跡させることができません。バージョンを実行してい3.0a8ます。

これが私のsupervisord.confファイルです

そして、これが最も基本的なスーパーバイザー構成ファイルです。/etc/supervisord/conf.d/duder.conf

ただし、これはスーパーバイザーとの私の端末セッションがどのように見えるかです

何か案は?

0 投票する
1 に答える
3915 参照

python - スーパーバイザーの celeryd のユーザーが正しくありません

セロリ (supervisord によってデーモン化された) で実行する定期的なタスクがいくつかありますが、スーパーバイザーのプロセス用にセットアップしたユーザーのホーム ディレクトリにディレクトリを作成しようとした後、「アクセス許可が拒否されました」というエラーが発生しました。os.environ実行中の celery タスクで dict を見た後、 USERvar が 'root' に設定されており、celery の Supervisord 設定で設定したユーザーではないことに気付きました。

これは私/usr/local/etc/supervisord.confのように見えるものです:

何が原因でしょうか? どんな助けでも大歓迎です!

0 投票する
6 に答える
28849 参照

bash - Supervisord による子プロセスの停止

私がsupervisordで直面している問題の1つは、別のプロセスを生成するコマンドがある場合、supervisordがそれを強制終了できないことです。

たとえば、正常に実行されると次のようなJavaプロセスがあります

Supervisord 構成ファイルは次のようになります。

複数の子を持つこの種のプロセスは、それらを から停止する場合、supervisord によって適切に処理されませんsupervisorctl。したがって、supervisord からこれを実行し、supervisorctl から停止しようとすると、最上位プロセスのみが強制終了されますが、実際の Java プロセスは強制終了されません。