Supervisorctl stop all =プロセスの停止?


4

私はいくつかのPHP CLIスクリプトを実行し、Supervisorを介して監視しています。

supervisorctlそれらを監視するために使用すると、スクリプトは次のように表示されます。

cleanup     RUNNING    pid 1805, uptime 0:00:41
postsales   RUNNING    pid 1825, uptime 0:00:10
rebills     RUNNING    pid 1823, uptime 0:00:19
subscribers RUNNING    pid 1827, uptime 0:00:10

ただし、を発行するとstop all、supervisorctlがフリーズし、CTRL + Cで終了する必要があります。

次にを実行するsupervisorctlと、ステータスは次のようになります。

cleanup     RUNNING    pid 1935, uptime 0:00:44
postsales   RUNNING    pid 1953, uptime 0:00:05
rebills     STOPPED    Jul 19 12:23 PM
subscribers RUNNING    pid 1951, uptime 0:00:05

つまり、1つのプロセスのみが停止し、他のプロセスは実行を継続します。

さらにstop allコマンドを発行すると、同じことが起こります。1つのスクリプトが終了を試み、残りがハングします。

STOPSIGNAL=KILLPHPスクリプトがデフォルトのTERMシグナルを適切に処理していない場合に使用するために、supervisord.confファイルを変更しようとしましたが、同じことが起こります。

スクリプトでSupervisorctlを確実に使用して、スクリプトを自由に適切に開始および停止する方法はありますか?

回答:


5

スーパーバイザー2でCentOS 6を使用しているときに同じ問題が発生しました。同様の構成を実行すると仮定します。

私の場合、アップグレードで問題は解決しました。ただし、私のシステムには、最新の監視バイナリパッケージはありません。だからここに私が更新した方法があります:

まず、次のソースRPMをダウンロードしますsupervisor-3.0-0.5.a10.fc16.src.rpmhttp://dl.fedoraproject.org/pub/fedora/linux/releases/16/Everything/source/SRPMS/supervisor-3.0-0.5.a10.fc16.src.rpmから入手できます))。より新しいソースパッケージを試すと、ビルドが失敗し、依存関係のエラーが発生する可能性があります。

rpm-buildを使用してパッケージをインストールします。

yum install rpm-build

次に、次のコマンドを使用してビルドを試みます。

rpmbuild --rebuild supervisor-3.0-0.5.a10.fc16.src.rpm

これが失敗した場合、yumを使用して必要な依存関係をインストールします。

yum install <dependencies>

その後、再度ビルドを試みます。

rpmbuild --rebuild supervisor-3.0-0.5.a10.fc16.src.rpm

その後、supervisordをインストールできるようになり、問題は解消されます!

yum install ~/rpmbuild/RPMS/noarch/supervisor-3.0-0.5.a10.el6.noarch.rpm
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.