[英]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.