add func parm type

This commit is contained in:
2025-07-12 17:33:38 +02:00
parent b1ce9061b1
commit 7edaef3563
32 changed files with 301 additions and 75 deletions

View File

@@ -15,18 +15,18 @@ from utils.database import CSV_RECEIVED
from utils.csv.loaders import get_next_csv_atomic
# Crea una context variable per identificare il worker
worker_context = contextvars.ContextVar("worker_id", default="00")
worker_context = contextvars.ContextVar("worker_id", default="^-^")
# Formatter personalizzato che include il worker_id
class WorkerFormatter(logging.Formatter):
"""Formatter personalizzato per i log che include l'ID del worker."""
def format(self, record):
def format(self, record: str) -> str:
"""Formatta il record di log includendo l'ID del worker.
Args:
record: Il record di log da formattare.
record (str): Il record di log da formattare.
Returns:
La stringa formattata del record di log.
@@ -44,7 +44,7 @@ CSV_PROCESSING_DELAY = 0.2
NO_RECORD_SLEEP = 60
async def worker(worker_id: int, cfg: object, pool) -> None:
async def worker(worker_id: int, cfg: object, pool: object) -> None:
"""Esegue il ciclo di lavoro per l'elaborazione dei file CSV.
Il worker preleva un record CSV dal database, ne elabora il contenuto
@@ -53,10 +53,10 @@ async def worker(worker_id: int, cfg: object, pool) -> None:
Args:
worker_id (int): L'ID univoco del worker.
cfg (object): L'oggetto di configurazione.
pool: Il pool di connessioni al database.
pool (object): Il pool di connessioni al database.
"""
# Imposta il context per questo worker
worker_context.set(f"W{worker_id}")
worker_context.set(f"W{worker_id:02d}")
debug_mode = logging.getLogger().getEffectiveLevel() == logging.DEBUG
logger.info("Avviato")
@@ -81,13 +81,13 @@ async def worker(worker_id: int, cfg: object, pool) -> None:
await asyncio.sleep(1)
async def load_csv(record: tuple, cfg: object, pool) -> bool:
async def load_csv(record: tuple, cfg: object, pool: object) -> bool:
"""Carica ed elabora un record CSV utilizzando il modulo di parsing appropriato.
Args:
record: Una tupla contenente i dettagli del record CSV da elaborare (id, unit_type, tool_type, unit_name, tool_name).
cfg: L'oggetto di configurazione contenente i parametri del sistema.
pool: Il pool di connessioni al database.
pool (object): Il pool di connessioni al database.
Returns:
True se l'elaborazione del CSV è avvenuta con successo, False altrimenti.