![](/img/trans.png)
[英]Django Celery socket.error [Errno 61] Connection refused
[英]Python Celery socket.error: [Errno 61] Connection refused
我正在使用Celery 3.0,並具有如下配置文件。
celeryconfig.py
BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_IMPORTS = ("tasks", )
CELERY_TASK_RESULT_EXPIRES = 300
task.py
import celery
@celery.task
def function(x,y):
return x + y
和function.py
from tasks import function
print function.delay(4,4).get()
我使用以下命令運行該應用程序
celeryd --loglevel=INFO --config=celeryconfig
到目前為止,一切都很好。 我有redis和芹菜運行並得到答案。
但是,當我從另一個名為parallelizer的文件中運行function命令時,
我收到套接字錯誤,
socket.error: [Errno 61] Connection refused
我的檔案如下
from examples.dummy.tasks import function
print function.delay(4,4).get()
有任何想法嗎 ?
有同樣的問題,最終意識到rabbitmq
和redis
過程進行了采空。
在Mac上,如果這些服務是通過自制軟件安裝的,則可以通過在終端上運行以下命令來驗證這些服務是否正在運行,
brew services list
可以通過以下方式重新啟動服務(如果通過brew
安裝)
brew services restart rabbitmq
brew services restart redis
我有同樣的問題,問題是我在項目的__init__.py中錯過了以下代碼:
from __future__ import absolute_import
# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from .celery import app as celery_app
我希望這對外面的人有用。
問題是
我從與並行器不同的路徑下運行celeryconfig.py。
當我將celeryconfig.py與paralellizer攜帶到同一路徑時,它解決了該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.