はい、方法があります。スーパーバイザーを使用して、必要なすべてのプロジェクトでセロリ デーモンを起動します。
スーパーバイザ構成ファイルは次のようになります。
[program:PROJECTNAME]
command=python manage.py celeryd --loglevel=INFO --beat
environment=PATH=/home/www-data/projects/PROJECTNAME/env/bin:/usr/bin:/bin
directory=/home/www-data/projects/PROJECTNAME/
user=www-data
numprocs=1
umask=022
stdout_logfile=/home/www-data/logs/%(program_name)s.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/home/www-data/logs/%(program_name)s.error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
autorestart=true
autostart=True
startsecs=10
stopwaitsecs = 60
priority=998
このセットアップを使用すると、別の利点もあります。セロリ デーモンは完全にユーザー空間で実行されます。
プロジェクトには異なるブローカー バックエンドを使用することを忘れないでください。同じ rabbitmq 仮想ホストを使用する場合、またはすべてのプロジェクトで同じ redis データベースを使用する場合は機能しません。