2017-06-20 31 views
1

使用極大的答案爲「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) 

回答