在Heroku上運行的我的Django站點使用CloudAMQP來處理其計劃的Celery任務。 CloudAMQP正在註冊比我有任務更多的消息,我不明白爲什麼。爲什麼我在Heroku上用CloudAMQP有這麼多Celery消息?
例如,在過去的幾個小時中,我將運行150個計劃任務(兩個每分鐘運行一次,另一個每五分鐘運行一次),但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。我很習慣使用Stack Overflow我有時會忘記一些地方實際上有支持:) –