
Trigger.dev v3: job queue open-source per TypeScript e Next.js
Un motore di background jobs self-hostable che porta code, retry e workflow duraturi direttamente nello stack TypeScript/Postgres del proprio SaaS.
Cos'è Trigger.dev
Trigger.dev è una piattaforma open-source per la gestione di background jobs e workflow in applicazioni TypeScript. Nata con l'obiettivo di semplificare l'esecuzione di task asincroni complessi, la versione 3 rappresenta un riprogettazione significativa rispetto alle release precedenti. Il progetto è rilasciato sotto licenza Apache 2.0 e il codice sorgente è disponibile su GitHub all'indirizzo github.com/triggerdotdev/trigger.dev.
La caratteristica distintiva di Trigger.dev v3 è la sua natura code-first: i job non vengono definiti tramite interfaccia grafica o configurazioni esterne, ma direttamente nel codice TypeScript dell'applicazione. Questo approccio consente di versionare i workflow con Git, di sfruttare l'autocompletamento dell'editor e di mantenere la logica di business in un unico posto. La piattaforma supporta nativamente framework come Next.js, Remix, Astro e applicazioni Node.js generiche.
A cosa serve
Trigger.dev v3 serve a chi ha bisogno di eseguire operazioni in background senza bloccare il flusso principale dell'applicazione. Casi d'uso tipici includono l'invio di email transazionali o newsletter in sequenza, l'elaborazione di file, la generazione di report, la sincronizzazione con API esterne, l'ingestione di dati in batch e l'esecuzione di workflow multi-step che possono durare minuti o ore.
Per founder, PMI e agenzie che sviluppano SaaS in TypeScript, la piattaforma risolve un problema ricorrente: la mancanza di una coda di lavoro robusta e gestibile senza dover introdurre componenti infrastrutturali aggiuntivi come Redis, RabbitMQ o servizi cloud dedicati. Con Trigger.dev v3 è possibile eseguire task in container isolati, con retry automatici, rate limiting, scheduling e una dashboard di monitoraggio, utilizzando solo PostgreSQL come datastore.
Come funziona
L'architettura di Trigger.dev v3 si compone di tre elementi principali: l'SDK che si integra nel codice dell'applicazione, il server Trigger.dev che gestisce la coda e l'esecuzione, e il database PostgreSQL che conserva lo stato dei job.
Lo sviluppatore definisce i task come funzioni TypeScript annotate con l'SDK. Ogni task può specificare opzioni come il numero di tentativi in caso di errore, i limiti di concorrenza, i timeout e le dipendenze da altri task. Una volta definito, il task viene deployato insieme al resto dell'applicazione. Quando l'applicazione invoca un task, il server Trigger.dev lo accoda e lo esegue in un container isolato, garantendo che un job lungo o fallito non influenzi gli altri.
Il modello di esecuzione supporta task single-step e multi-step. I task multi-step possono essere sospesi e ripresi, il che li rende adatti a workflow che prevedono attese esterne, come la risposta di un'API di terze parti o l'approvazione manuale. La persistenza dello stato avviene su PostgreSQL, eliminando la necessità di mantenere uno stato in memoria o di gestire manualmente il checkpointing.
La dashboard web permette di monitorare l'esecuzione dei job in tempo reale, ispezionare i log, rilanciare task falliti e analizzare le metriche di utilizzo. Per chi preferisce mantenere il controllo completo, Trigger.dev v3 può essere self-hostato tramite Docker Compose o Kubernetes, oppure utilizzato in versione cloud gestita.