スーパーバイザを使用して生産中のセロリを実行しています。私の監督者の構成は以下の通りです。セロリを再起動する方法Supervisordによって実行されたWroker
[program:celeryd]
command=%(ENV_PROJECT_PATH)s/scripts/celery_worker.sh
stdout_logfile=%(ENV_PROJECT_PATH)s/celeryd.log
stderr_logfile=%(ENV_PROJECT_PATH)s/celeryd.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=1000
priority=1000
セロリワーカーを実行するための私のコマンドが
celery_path=$(which celery)
$celery_path -A Project_Name worker --loglevel=info
である私は私のコードベースが生産に変化したときにセロリの労働者を再起動する方法を、お聞きしたいですか?
'supervisorctl restart celeryd'の問題点は何ですか? –
私は 'supervisorctl restart celeryd'を使用しましたが、これを複数回使用すると、サーバは遅くなります。私がラムを調べると、ラムのほとんどはセロリの労働者が占めていた。バックグラウンドで約15人の労働者が走っていた。 –
私は同じ問題を抱えていました。スーパースクリプトスクリプトのパラメータkillasgroup = trueは私のためにそれを解決しました。 –