[英]Get “[Errno 111] Connection refused” error when mount Celery on Heroku
我試圖使用Celery為Django項目編寫后端異步過程。 我將Rabbitamq用作我的任務隊列,同時將Cloudamqp與Heroku一起使用。
問題是:整個項目可以在我自己的筆記本電腦上完美運行(使用localhost進行測試),而不能在生產服務器上運行。
這是我收到的錯誤消息: [Errno 111] Connection refused
然后我做了一些研究,我可能是錯的,但是問題似乎是我已經達到可以使用工作人員數量的限制,因為我現在正在為Heroku使用免費帳戶。
我讀到以下內容:“但是請記住,如果您使用的是免費計划,請調整BROKER_POOL_LIMIT。將其設置為1,就可以了。如果您遇到連接問題,請嘗試減少網絡工作者和celery的並發性工人。” 但我不確定該怎么做。
這是我的setting.py:
BROKER_URL="amqp://paswzaog:0TwC3i7cBdTAKA9JE57EMm1xUzovFbry@turtle.rmq.cloudamqp.com/paswzaog"
BROKER_POOL_LIMIT = 1
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend'
CELERY_BEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
CELERY_RESULT_BACKEND = 'amqp'
CELERY_TASK_RESULT_EXPIRES = 18000 # 5 hours.`
這是錯誤消息:
'[Errno 111] Connection refused
'/app/.heroku/python/bin',
'/app/.heroku/python/lib/python2.7/site-packages/setuptools-3.6-py2.7.egg',
'/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg',
'/app',
'/app/.heroku/python/lib/python27.zip',
'/app/.heroku/python/lib/python2.7',
'/app/.heroku/python/lib/python2.7/plat-linux2',
'/app/.heroku/python/lib/python2.7/lib-tk',
'/app/.heroku/python/lib/python2.7/lib-old',
'/app/.heroku/python/lib/python2.7/lib-dynload',
'/app/.heroku/python/lib/python2.7/site-packages',
'/app','
以前有人遇到過類似的問題嗎? 還是有人可以推薦有關如何在Heroku上設置Celery的詳細教程? 提前致謝!
您的憑據似乎無效。 或者,或者您有多個並發連接。
一個很好的測試方法是將您的Web服務器擴展到0(heroku scale web = 0),然后創建一個工作程序(heroku scale worker = 1)–然后將您的Heroku日志(heroku logs --tail)尾隨看看您的單工是否可以連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.