Getting Started

Install

npm install pinepack

Basic usage

import { Queue } from "pinepack";

const queue = new Queue({ name: "emails" });

queue.process(async (job) => {
  await sendEmail(job.data);
});

await queue.enqueue({ to: "user@example.com", subject: "Welcome" });

Jobs are persisted to a local SQLite file by default (pinepack.db). For production, point Queue at a Postgres connection string via the connection option.

Retries

By default, failed jobs retry 3 times with exponential backoff. Configure this per-queue:

const queue = new Queue({ name: "emails", retries: 5, backoff: "exponential" });