使用極大的答案爲「How to configure celery-redis in django project on microsoft azure?」,我可以配置芹菜使用非SSL端口,6379使用Azure的Redis的緩存,使用下面的Python代碼:如何設置芹菜交談SSL天青Redis的實例
from celery import Celery
# This one works
url = 'redis://:<access key>@<my server>.redis.cache.windows.net:6379/0'
# I want to use a url that specifies ssl like one of the following:
# url = 'redis://:<my key>[email protected]<my server>.redis.cache.windows.net:6380/0'
# url = 'redis://:<my key>@<my server>.redis.cache.windows.net:6380/0?ssl=True'
app = Celery('tasks', broker=url)
@app.task
def add(x, y):
return x + y
不過,我想有芹菜使用SSL和使用SSL到Azure的Redis的緩存上端口3380進行通信。如果我更改端口6380,我得到一個「錯誤而從套接字讀取」的運行以下命令後,等待幾分鐘後:
celery -A tasks worker --loglevel=INFO -Q "celery" -Ofair
有誰知道如何配置此,對芹菜或Azure的一面,這樣我可以有使用SSL在Azure上的Redis緩存的缺省端口芹菜溝通?
我使用的是最新版本的芹菜(4.0.2)
注意,類似的代碼使用端口3380和SSL使用直接從Linux客戶端連接(在Azure)時沒有問題了以下工作Python的redis庫:
import redis
redis.StrictRedis(host='<my host>.redis.cache.windows.net', port=6380, db=0, password='<my key>', ssl=True)