繁体   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