Per robust, durable background job (oltre il lightweight BackgroundTasks di FastAPI), usi una vera task queue: Celery (lo standard consolidato) o ARQ (una moderna queue async-native). Questi eseguono lavoro pesante, ritentabile, pianificato in processi worker separati, supportati da un broker come Redis.
Perché non solo BackgroundTasks?
BackgroundTasks runs in the web process → NO persistence (lost on crash), NO retries,
NO scheduling, and heavy work ties up the worker. Fine only for quick fire-and-forget.
For durable/critical/heavy/scheduled jobs → use a real task queue (Celery / ARQ).
