芹菜+Redis失去连接

2024-05-19 01:43:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个非常简单的Celery任务,它运行一个(长时间运行的)shell脚本:

import os
from celery import Celery

os.environ['CELERY_TIMEZONE'] = 'Europe/Rome'
os.environ['TIMEZONE'] = 'Europe/Rome'

app = Celery('tasks', backend='redis', broker='redis://OTHER_SERVER:6379/0')

@app.task(name='ct.execute_script')
def execute_script(command):
    return os.system(command)

我让这个任务在我的服务器上运行,我从其他运行Redis数据库的服务器启动它。 任务似乎运行成功(我看到在文件系统上执行脚本的结果),但我总是开始收到以下错误:

^{pr2}$

可能是什么?当我将Redis服务器设置为redis://OTHER_SERVER:6379/0并且它正常工作(自从任务启动之后),它为什么要尝试联系localhost?谢谢


Tags: import服务器脚本redisappexecuteserveros
1条回答
网友
1楼 · 发布于 2024-05-19 01:43:26

当您设置backend参数时,Celery将使用它作为结果后端。
在代码中,告诉Celery使用本地redis服务器作为结果后端。在

您看到了ConnectionError,因为celery无法将reult保存到本地redis服务器。
您可以禁用result backend或启动本地redis服务器或将其设置为其他\u服务器。在

参考号:

相关问题 更多 >

    热门问题