簡體   English   中英

芹菜+ Redis失去連接

[英]Celery + Redis losing connection

我有一個非常簡單的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)

我在服務器MY_SERVER上運行了此任務,並從也在運行Redis數據庫的OTHER_SERVER啟動了該任務。 該任務似乎已成功運行(我看到在文件系統上執行腳本的結果),但是我總是開始遇到以下錯誤:

INTERNAL ERROR: ConnectionError('Error 111 connecting to localhost:6379. Connection refused.',)

會是什么呢? 為什么我將Redis服務器設置為redis://OTHER_SERVER:6379/0並且可以正常工作(自啟動任務以來),為什么嘗試聯系localhost 謝謝

設置backend參數時, Celery會將其用作結果后端。
在代碼上,您告訴Celery使用本地Redis服務器作為結果后端。

您看到了ConnectionError ,因為celery無法將結果保存到本地Redis服務器。
您可以禁用結果后端或啟動本地Redis服務器或將其設置為OTHER_SERVER。

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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