先週私のローカルシステムでRabbitMQとCeleryをテストした後、実動システムにRabbitMQとCeleryをセットアップしました。Rabbitmq Celeryd Celerybeatがデーモンとして実稼働中のタスクを実行していません
まだ私は約1200のタスクがまだキューに入っているので、私のタスクは生産で実行されていないと感じます。
私はceleryd
とcelerybeat
のデーモンとWSGI wsgiモジュールへのインポートを行ったCentOS 5.4セットアップを実行します。
私は実行し、/etc/init.d/celeryd start
私は/etc/init.d/celerybeat start
を実行すると、私は項目がsuccessully実行されているように思わ出力により、次の応答ので
[[email protected] fundedmyprojectbyme]# /etc/init.d/celerybeat start
Starting celerybeat...
を取得するには、次の応答
[[email protected] myproject]# /etc/init.d/celeryd start
celeryd-multi v2.3.1
> Starting nodes...
> w1.myvm.centos01: OK
を得ます - キューを見ると、実行される以上に多くのことが起こります。
私は同じ実行を行いますが、代わりに./manage.py celeryd
と./manage.py celerybeat
というdjangoのmanage.pyを使用すると、すぐに処理が開始されます。
マイ/etc/default/celeryd
# Where to chdir at start.
CELERYD_CHDIR="/www/myproject/"
# How to call "manage.py celeryd_multi"
CELERYD_MULTI="$CELERYD_CHDIR/manage.py celeryd_multi"
# Extra arguments to celeryd
CELERYD_OPTS="--time-limit=300 --concurrency=8"
# Name of the celery config module.
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/default/celerybeat
# Where the Django project is.
CELERYD_CHDIR="/www/myproject/"
# Name of the projects settings module.
export DJANGO_SETTINGS_MODULE="settings"
# Path to celeryd
CELERYD="/www/myproject/manage.py celeryd"
# Path to celerybeat
CELERYBEAT="/www/myproject/manage.py celerybeat"
# Extra arguments to celerybeat
CELERYBEAT_OPTS="--schedule=/var/run/celerybeat-schedule"
私/etc/init.dのファイル用に/ celerydおよび/ celerybeat generic scripts
に基づいていますが、私は足りません構成の一部???
としてセロリの実行はたぶん有用であり得るとあなたのinitスクリプトは/ var/log /に作成する必要があります。ログが何も作成されていない場合は、セロリがログファイルを作成するのに問題があるためです。 プロダクションシステムとローカルの違いは何ですか? あなたはそれらが同じpythonバージョンを持っていると確信していますか? –