Herokuで動作している私のDjangoサイトは、CloudAMQPを使用してスケジュールされたCeleryタスクを処理しています。 CloudAMQPは私がタスクを持っているよりも多くのメッセージを登録していますが、私はその理由を理解していません。HerokuのCloudAMQPでセロリのメッセージがたくさんあるのはなぜですか?
例えば、過去数時間のうちに、約150のスケジュールされたタスク(1分に1回、5分に1回)が実行されますが、CloudAMQPコンソールのメッセージ数は約1,300増加しました。
マイ関連するDjangoの設定:
BROKER_URL = os.environ.get("CLOUDAMQP_URL", "")
BROKER_POOL_LIMIT = 1
BROKER_HEARTBEAT = None
BROKER_CONNECTION_TIMEOUT = 30
CELERY_ACCEPT_CONTENT = ['json',]
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TASK_RESULT_EXPIRES = 7 * 86400
CELERY_SEND_EVENTS = False
CELERY_EVENT_QUEUE_EXPIRES = 60
CELERY_RESULT_BACKEND = None
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
マイProcfile:
web: gunicorn myproject.wsgi --log-file -
main_worker: python manage.py celery worker --beat --without-gossip --without-mingle --without-heartbeat --loglevel=info
Herokuのログを見て、私は唯一の私が期待することを実行するスケジュールされたタスクの数を参照してください。
RabbitMQの概要グラフは、この時間のほとんどのように見える傾向がある:
私は他のパネルが問題に光を当てるかどうかを知るには十分のRabbitMQを理解していません。私はそうではないはと考えています。
私は余分なメッセージが何であるかを理解したいと思いますし、それらの一部または全部を排除する方法があるかどうかを知りたいです。
あなたのユーザー名はいつでも[email protected]までメールで送信できます。お待ちください。 –
おかげでCarl。スタックオーバーフローを使用するのに慣れていることがあります。 –