簡體   English   中英

Python Celery socket.error:[Errno 61]連接被拒絕

[英]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()

有任何想法嗎 ?

有同樣的問題,最終意識到rabbitmqredis過程進行了采空。

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM