web-dev-qa-db-ja.com

スーパーバイザがディレクトリパラメータを選択していないようです

スーパーバイザー3.0から3.2への更新(14.04から16.04へのアップグレード中に発生)後、スーパーバイザーに使用する構成が適切に機能しなくなったようです。

デフォルトのスーパーバイザー構成は完全に変更されておらず、唯一の重要なパラメーターは次のとおりです。

[include]
files = /etc/supervisor/conf.d/*.conf

conf.dディレクトリには2つのファイルがあります。 1つはこのシステムでのみ使用され、もう1つはアプリケーションディレクトリにシンボリックリンクされるため、インストール間で同じ構成を使用できます。

000-generic-environment.conf

[supervisord]
directory = /home/applicationuser/domains/<domain>/current

001-programs.conf(/home/applicationuser/domains//current/supervisord.confへのシンボリックリンク)

[program:Push-notifications]
rabbitmq:consumer device_notifications --env=prod --no-debug -m 100
autorestart = true
user = applicationuser
command = bin/console rabbitmq:consumer device_notifications --env=prod --no-debug -m 100

スーパーバイザーを起動すると、ログに表示されるのは次のとおりです。

supervisord[11599]: 2018-06-21 08:00:16,549 INFO spawnerr: can't find command 'bin/console'

数回試行してから、再試行のために致命的な状態になることを決定します。この設定は常に機能していましたが、現在は壊れているようです。ここで何かを見落としていますか?私はしばらくこの問題に頭を痛めていました、そして、私は問題にいくらかの新鮮な目を使うことができました。

2
Peter van Arkel

私は最終的に問題を発見しました。ドキュメントでは、ディレクトリパラメータはデーモン化するときにのみ使用されることに気付きました。

スーパーバイザ3.0では、これがデフォルトでした。明らかにubuntuとスーパバイザをアップグレードした後、このデフォルトの動作が変更され、コマンドラインで-nフラグを使用してスーパバイザが実行されました。

Systemdでこのフラグを削除すると、何らかの理由でデーモンがクラッシュしましたが、コマンドラインからSupervisordを実行すると完全に機能しました。もっと重要なことを続けたいと思ったため、簡単な方法を選んだので、Supervisorを3.0にダウングレードし、すべてが再び魅力的に機能しました。

1
Peter van Arkel