ローカルホストでは、これらのステートメントを使用してタスクとワーカーを実行しました。実行タスク: python manage.py celery beat 実行ワーカー: python manage.py celery worker --loglevel=info otp、rabbitmq サーバー、および django-celery を使用しました。正常に動作しています。プロジェクトをubuntuサーバーにアップロードしました。これらをデーモン化したいと思います。そのために、以下の構成設定としてファイル /etc/default/celeryd を作成しました。
# Name of nodes to start, here we have a single node
CELERYD_NODES="w1"
# or we could have three nodes:
#CELERYD_NODES="w1 w2 w3"
# Where to chdir at start.
CELERYD_CHDIR="/home/sandbox/myprojrepo/myproj"
# How to call "manage.py celeryd_multi"
CELERYD_MULTI="$CELERYD_CHDIR/manage.py celeryd_multi"
# How to call "manage.py celeryctl"
CELERYCTL="$CELERYD_CHDIR/manage.py celeryctl"
# Extra arguments to celeryd
CELERYD_OPTS="--time-limit=300 --concurrency=8"
セロリ構成モジュールの名前。
CELERY_CONFIG_MODULE="celeryconfig"
# %n will be replaced with the nodename.
CELERYD_LOG_FILE="/var/log/celery/%n.log"
CELERYD_PID_FILE="/var/run/celery/%n.pid"
# Workers should run as an unprivileged user.
CELERYD_USER="celery"
CELERYD_GROUP="celery"
# Name of the projects settings module.
export DJANGO_SETTINGS_MODULE="settings"
また、ダウンロードしたスクリプトを使用してファイル /etc/init.d/celeryd を作成しました。
/etc/init.d/celeryd start を実行しようとすると、認識されていないコマンド ライン引数としてエラーが発生します。コマンドとして「celeryd-multi start nodeN」を発行したところ、nodeNが開始したと表示されました。しかし、タスクの実行はまだ開始されていません。
デーモン化とサーバーホスティングは初めてです。