mirror of
https://github.com/fastapi-practices/fastapi_best_architecture.git
synced 2026-03-13 09:31:31 +08:00
Fix support for special character passwords (#968)
* Fix special character password support in celery * Fix celery amqp and socketio password * Remove non-essential changes
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import os
|
||||
import urllib.parse
|
||||
|
||||
import celery
|
||||
import celery_aio_pool
|
||||
@@ -28,11 +29,11 @@ def init_celery() -> celery.Celery:
|
||||
celery.app.trace.build_tracer = celery_aio_pool.build_async_tracer
|
||||
celery.app.trace.reset_worker_optimizations()
|
||||
|
||||
broker_url = f'amqp://{settings.CELERY_RABBITMQ_USERNAME}:{settings.CELERY_RABBITMQ_PASSWORD}@{settings.CELERY_RABBITMQ_HOST}:{settings.CELERY_RABBITMQ_PORT}/{settings.CELERY_RABBITMQ_VHOST}'
|
||||
broker_url = f'amqp://{settings.CELERY_RABBITMQ_USERNAME}:{urllib.parse.quote(settings.CELERY_RABBITMQ_PASSWORD)}@{settings.CELERY_RABBITMQ_HOST}:{settings.CELERY_RABBITMQ_PORT}/{settings.CELERY_RABBITMQ_VHOST}'
|
||||
if settings.CELERY_BROKER == 'redis':
|
||||
broker_url = f'redis://:{settings.REDIS_PASSWORD}@{settings.REDIS_HOST}:{settings.REDIS_PORT}/{settings.CELERY_BROKER_REDIS_DATABASE}'
|
||||
broker_url = f'redis://:{urllib.parse.quote(settings.REDIS_PASSWORD)}@{settings.REDIS_HOST}:{settings.REDIS_PORT}/{settings.CELERY_BROKER_REDIS_DATABASE}'
|
||||
|
||||
result_backend = f'db+postgresql+psycopg://{settings.DATABASE_USER}:{settings.DATABASE_PASSWORD}@{settings.DATABASE_HOST}:{settings.DATABASE_PORT}/{settings.DATABASE_SCHEMA}'
|
||||
result_backend = f'db+postgresql+psycopg://{settings.DATABASE_USER}:{urllib.parse.quote(settings.DATABASE_PASSWORD)}@{settings.DATABASE_HOST}:{settings.DATABASE_PORT}/{settings.DATABASE_SCHEMA}'
|
||||
if DataBaseType.mysql == settings.DATABASE_TYPE:
|
||||
result_backend = result_backend.replace('postgresql+psycopg', 'mysql+pymysql')
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import urllib.parse
|
||||
|
||||
import socketio
|
||||
|
||||
from backend.common.log import log
|
||||
@@ -8,7 +10,7 @@ from backend.database.redis import redis_client
|
||||
# 创建 Socket.IO 服务器实例
|
||||
sio = socketio.AsyncServer(
|
||||
client_manager=socketio.AsyncRedisManager(
|
||||
f'redis://:{settings.REDIS_PASSWORD}@{settings.REDIS_HOST}:{settings.REDIS_PORT}/{settings.REDIS_DATABASE}',
|
||||
f'redis://:{urllib.parse.quote(settings.REDIS_PASSWORD)}@{settings.REDIS_HOST}:{settings.REDIS_PORT}/{settings.REDIS_DATABASE}',
|
||||
),
|
||||
async_mode='asgi',
|
||||
cors_allowed_origins=settings.CORS_ALLOWED_ORIGINS,
|
||||
|
||||
Reference in New Issue
Block a user