0

私は次の設定をしています:

celery-with-redis - 3.0        - active 
celery          - 3.0.12       - active 
django-celery   - 3.0.11       - active
django-kombu    - 0.9.4        - active
kombu           - 2.5.8        - active
redis           - 2.4.10

私のセロリの設定は次のとおりです。

BROKER_URL = "redis://:password@localhost:6379/0"
REDIS_DB = 0
REDIS_CONNECT_RETRY = True
CELERY_SEND_EVENTS=True
CELERY_RESULT_BACKEND="redis://:password@localhost:6379/0"
CELERY_TASK_RESULT_EXPIRES =  10
CELERYBEAT_SCHEDULER="djcelery.schedulers.DatabaseScheduler"

私のcelerybeatログファイルをチェックすると、次のようになります

<ModelEntry: celery.backend_cleanup celery.backend_cleanup(*[], **{}) {<crontab: * 4 * * * (m/h/d/dM/MY)>}>
<ModelEntry: testing  spider.tasks.downloadCEA(*[], **{}) {<crontab: 4 9 * * * (m/h/d/dM/MY)>}>
[2013-04-02 09:16:15,364: DEBUG/MainProcess] Celerybeat: Ticking with max interval->5.00 seconds

しかし、ログ ファイルで期待どおりにスリープ解除もスリープも解除されず、管理インターフェイスを介して変更されたタスクの変更もログ ファイルに反映されませんでした。しかし、redis を再起動すると、適切な動作が戻ってきました。

誰でもこれについてアドバイスできますか?

更新: topredis プロセスを簡単にチェックしました - CPU 使用率が 100% になっていました! 誰でも?

4

1 に答える 1

1

すみません、ここで私の質問に答えます。

古いバージョンの kombu を使用していたことが判明し、redis への多くの接続がワーカーから作成されました。問題を新しいバージョンにアップグレードすると、問題が解決しました。

この問題は、@asksol によってここで説明されました。

于 2013-04-02T13:36:39.033 に答える