2017-06-20 3 views
1

Mit der großen Antwort auf „How to configure celery-redis in django project on microsoft azure?“ zu sprechen, kann ich Sellerie konfiguriert Azure Redis Cache mit dem Nicht-SSL-Port zu verwenden, 6379, den folgenden Python Code verwendet:Wie Setup Sellerie ssl zu Azure Redis Instanz

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 

Allerdings würde Ich mag Sellerie Verwendung ssl haben und kommunizieren auf Port 3380 ssl mit zum Azure Redis Cache. Wenn ich den Port 6380 zu ändern, ich einen „Fehler beim Lesen vom Socket“ erhalte nach einigen Minuten Wartezeit nach dem folgenden Befehl:

celery -A tasks worker --loglevel=INFO -Q "celery" -Ofair

Wer weiß, wie dies zu konfigurieren, auf dem Sellerie oder Azure Seite, so dass ich Sellerie kommunizieren kann über die Standard- Port auf Azure Redis Cache mit ssl?

Ich verwende die neueste Version von Sellerie (4.0.2)

Beachten Sie, dass Code wie den folgenden Arbeiten ohne Probleme, wenn sie direkt von einem Linux-Client (auf Azure) verbindet über Port 3380 und ssl mit Pythons redis Bibliothek:

import redis 
redis.StrictRedis(host='<my host>.redis.cache.windows.net', port=6380, db=0, password='<my key>', ssl=True) 

Antwort

0

Für den Broker, sollten Sie in der Lage sein, die broker_use_ssl Konfigurationsoption einzustellen.

Für das Backend wurde die Option redis_backend_use_ssl in der Version 4.1.0 verfügbar gemacht.

Die Fähigkeit, SSL über die URL zu ermöglichen, ist noch nicht verfügbar: https://github.com/celery/celery/issues/2833

Beachten Sie auch, dass official support for Windows was dropped in 4.0. Sie können es jedoch möglicherweise in Betrieb nehmen, indem Sie die Anweisungen unter https://github.com/celery/celery/issues/4082

befolgen
Verwandte Themen