mirror of
https://github.com/idrainformatica/PecFlow.git
synced 2026-06-16 12:45:42 +02:00
Fix smtp
This commit is contained in:
+9
-6
@@ -49,6 +49,9 @@ async def on_startup(ctx: dict[str, Any]) -> None:
|
||||
"""
|
||||
Inizializzazione worker all'avvio.
|
||||
Avvia il MailboxPool con tutte le caselle attive.
|
||||
|
||||
NOTA: ctx["redis"] è già un ArqRedis (con enqueue_job) impostato da arq
|
||||
prima di chiamare on_startup – NON sovrascrivere con aioredis standard.
|
||||
"""
|
||||
global _mailbox_pool
|
||||
|
||||
@@ -63,9 +66,10 @@ async def on_startup(ctx: dict[str, Any]) -> None:
|
||||
except Exception as e:
|
||||
logger.warning(f"MinIO non disponibile al startup: {e}")
|
||||
|
||||
# Crea client Redis condiviso
|
||||
redis_client = aioredis.from_url(settings.redis_url, decode_responses=True)
|
||||
ctx["redis"] = redis_client
|
||||
# Usa il client Redis ArqRedis già presente nel contesto (messo da arq).
|
||||
# ArqRedis estende Redis, quindi funziona sia per MailboxPool sia per
|
||||
# enqueue_job() nei job asincroni (send_pec, watch_receipt, ecc.).
|
||||
redis_client = ctx["redis"]
|
||||
|
||||
# Avvia MailboxPool
|
||||
_mailbox_pool = MailboxPool(redis_client=redis_client)
|
||||
@@ -87,9 +91,8 @@ async def on_shutdown(ctx: dict[str, Any]) -> None:
|
||||
if pool:
|
||||
await pool.stop()
|
||||
|
||||
redis_client = ctx.get("redis")
|
||||
if redis_client:
|
||||
await redis_client.aclose()
|
||||
# NON chiudere ctx["redis"]: è l'ArqRedis gestito da arq,
|
||||
# che ne gestisce il ciclo di vita autonomamente.
|
||||
|
||||
logger.info("🛑 Worker fermato")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user