在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我有时会忘记一些地方实际上有支持:) –