tl-pg-boss

Provide PostgreSQL-based job queues with exactly-once delivery for Node.js applications.

Updated Feb 14, 2026
One-click install
npx skills add https://github.com/toddlevy/tl-agent-skills --skill tl-pg-boss
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tl-pg-boss
Source: https://github.com/toddlevy/tl-agent-skills/tree/main/skills/tl-pg-boss
Command: npx skills add https://github.com/toddlevy/tl-agent-skills --skill tl-pg-boss

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

PostgreSQL-backed job queue for Node.js with exactly-once delivery, cron scheduling, and transactional safety, enabling reliable background processing within PostgreSQL-centric stacks.

Core Features & Use Cases

  • SKIP LOCKED-based exactly-once delivery for safe concurrency
  • Delayed and cron-based scheduling, with dead-letter and retention options
  • Typed jobs, API methods for sending, fetching, and completing jobs
  • Easy Fastify integration, monitoring dashboards, and transactional enqueuing

Quick Start

Install pg-boss, initialize a queue, and start a worker to begin processing jobs.

Frequently Asked Questions about tl-pg-boss

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a PostgreSQL job queue for background processing in Node.js?

A PostgreSQL job queue provides reliable background processing for Node.js by using SKIP LOCKED to ensure exactly-once delivery, preventing duplicate job execution across concurrent workers.

How does SKIP LOCKED guarantee exactly-once delivery in a database-backed job queue?

SKIP LOCKED enables exactly-once delivery by allowing concurrent worker queries to skip rows already locked by other workers, ensuring only a single worker fetches and processes each specific job.

Can I schedule delayed and cron-based jobs directly within PostgreSQL?

Yes, you can schedule delayed and cron-based jobs directly in PostgreSQL, utilizing built-in queue management patterns for retries, dead-lettering failed tasks, and configuring retention options.

What is the best way to enqueue database jobs transactionally with Fastify?

The best way to enqueue database jobs transactionally with Fastify is using API methods that insert jobs within the same database transaction, ensuring jobs are only queued if the primary operation succeeds.

When should I use a PostgreSQL-backed queue instead of a dedicated message broker?

You should use a PostgreSQL-backed queue when your stack is PostgreSQL-centric and requires deterministic execution, leveraging existing database transactions rather than introducing a separate dedicated message broker infrastructure.