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)