{"repo":"mgcrea/prisma-queue","free":true,"listed":false,"github":"https://github.com/mgcrea/prisma-queue","clone":"git clone https://github.com/mgcrea/prisma-queue.git","description":"Minimalist postgresql job queue for Prisma","language":"TypeScript","stars":61,"topics":["prisma","postgresql","job","queue","worker"],"license":"MIT","category":"databases-storage","readme_excerpt":"Prisma Queue Features Simple, reliable and efficient concurrent work queue for Prisma + PostgreSQL - Leverages PostgreSQL SKIP LOCKED feature to reliably dequeue jobs - Supports crontab syntax for complex scheduled jobs, or a structured interval for fixed cadences (e.g. every 20 hours) - Pluggable retry strategies with exponential backoff by default; jobs that exhaust maxAttempts are dead-lettered (retained + dead event) - Automatic lease-based recovery of crashed/stuck jobs (no manual bookkeeping), plus optional per-job timeouts - Cooperative worker cancellation via AbortSignal - Loud-by-default jobError / dead / error events for clean observability, plus a stats() breakdown for monitoring - Bulk enqueueMany() and a purge() retention helper - Compatible with Prisma 7.4+ and any Prisma driver adapter (e.g. @prisma/adapter-pg ) - Written in TypeScript for static type checking with exported types along the library. - Built by tsdown to provide both CommonJS and ESM packages. Install Peer dependencies This library requires Prisma 7.4+ (for the partialIndexes preview feature used by the dequeue index) with a driver adapter: Quickstart 1. Append the QueueJob model to your schema.prisma file 1. Create your queue Note : By default the client parameter in the worker is the full PrismaClient (at-least-once semantics, $transaction available) with full typed access to your Prisma models. Pass transactional: true to instead run the worker inside the dequeue transaction with a transaction","default_branch":null,"files":null,"tree":[],"storefront":"/r/mgcrea","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mgcrea/prisma-queue/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}