Mir ist aufgefallen, dass meine Nummer Die Anzahl der Redis-Verbindungen nimmt auch beim Einrichten eines Pools für Redis weiter zu. Die einzige Möglichkeit, sie zu löschen, besteht darin, die Anwendung zu beenden (oder in meinem Fall für Heroku die Dynos neu zu starten).
Hier ist ein Beispiel des aktuellen Codes:
Code: Select all
CLOUDAMQP_URL = os.environ.get("CLOUDAMQP_URL") or os.environ.get("RABBITMQ_URL")
HEROKU = os.environ['HEROKU']
if HEROKU == "production":
url = urlparse(os.environ.get('REDISCLOUD_URL'))
backend_url = f"redis://{url.username}:{url.password}@{url.hostname}:{url.port}"
else:
backend_url = "redis://localhost:6379/0"
redis_client = redis.Redis.from_url(backend_url)
broker_url = CLOUDAMQP_URL
app = Celery('chatbot_tasks', broker=broker_url, backend=backend_url)
app.conf.task_serializer = 'json'
app.conf.result_serializer = 'json'
app.conf.broker_pool_limit = 0
Ich habe versucht, einen Pool als solchen einzurichten:
Code: Select all
backend_url = os.environ['REDIS_URL']
pool = ConnectionPool.from_url(backend_url)