Cos'è pg-boss
pg-boss è una libreria JavaScript/TypeScript per Node.js che trasforma un database PostgreSQL in una coda di job production-ready. Nata dal lavoro di Tim Jones, si propone come alternativa minimalista ma robusta a sistemi come Redis Queue, BullMQ, RabbitMQ o servizi gestiti come AWS SQS. La sua premessa è semplice: se già usi Postgres, puoi gestire code, retry, cron e dead letter queue senza aggiungere altri servizi alla tua architettura.
A differenza di molte soluzioni che richiedono un broker dedicato, pg-boss sfrutta funzionalità native di PostgreSQL — in particolare SKIP LOCKED, advisory lock e transazioni ACID — per garantire exactly-once delivery, concorrenza sicura e consistenza tra i dati applicativi e lo stato dei job. Questo lo rende particolarmente interessante per startup, PMI e agenzie che costruiscono SaaS su stack Node.js + PostgreSQL e vogliono ridurre la complessità operativa.
A cosa serve
pg-boss serve ogni volta che un'applicazione deve eseguire lavori in background in modo affidabile. Esempi tipici includono:
- invio di email, notifiche push o messaggi WhatsApp in modo asincrono;
- elaborazione di fatture, report PDF o esportazioni CSV;
- sincronizzazioni con API esterne, CRM o piattaforme di pagamento;
- webhooks: ricezione, validazione e inoltro affidabile verso endpoint di terze parti;
- flussi di onboarding, cleanup programmati e manutenzione del database;
- workflow più complessi con dipendenze tra job, schedule ricorrenti e gestione dei fallimenti.
La libreria è adatta sia a semplici script Node.js che a architetture più articolate basate su Server Actions di Next.js, API route, worker dedicati in container o processi pm2. Grazie al supporto per cron e job schedulati, può sostituire anche semplici scheduler Unix o servizi esterni come cron-job.org.
