EVERYTHING XIAOMI
Get listed

Graphile Worker

Graphile Worker stores background jobs in PostgreSQL and runs them on Node.js, so that work does not delay application responses.

Place
#3 of 37
Score
7.9

What Graphile Worker is

Graphile Worker stores background jobs in PostgreSQL and runs them on Node.js, so that work does not delay application responses. It is self-hosted and can run standalone or within the same Node.js process as an application server. Jobs execute at least once; failures trigger automatic retries with exponential backoff. Recurring tasks support crontab-like schedules with optional backfill, while other controls include de-duplication by unique job_key and batch jobs that append data to queued work. The feature list says execution typically starts in under 3ms using PostgreSQL LISTEN/NOTIFY. The current version requires PostgreSQL 12+ and Node 22.18+. Packages can be installed through npm, Yarn, or pnpm, and global installation is not recommended. The connection documentation describes SSL-encrypted PostgreSQL connections and CA certificate configuration. Graphile Worker is free and open source under the MIT license. Worker Pro adds crashed-worker recovery and live migration to new versions; its listed regular price is $100 a month, while a launch offer is listed at $25 a month. Community help is available through Graphile Discord, with professional support contracts also offered.

Good

  • Free and open source under the MIT license
  • Retries failures with exponential backoff
  • Supports recurring schedules and optional backfill
  • Can run embedded in a Node.js application process
  • Offers job de-duplication and batch jobs

Watch out

  • Self-hosted deployment is required
  • Requires PostgreSQL 12+ and Node 22.18+
  • No dead-letter queue is listed
  • Worker Pro regular price is $100 a month

Who it suits

Graphile Worker suits developers building Node.js applications with PostgreSQL who need scheduled background jobs and retry behavior. The maker describes it as a maintainable queue for regular organizations rather than a replacement for dedicated queues at Facebook scale.

Verdict

Graphile Worker offers PostgreSQL-backed background processing with scheduling and automatic retries in a self-hosted package. Confirm that its runtime requirements and lack of a dead-letter queue fit your workflow.

Plans and prices

From Graphile Worker's own pricing page, checked 8 Oct 2026.

All about pricing
PlanPriceWhat it gives you
Graphile WorkerFreeFree and open-source · MIT license
Graphile Worker OSSFreePostgreSQL-backed Node.js job queue · MIT licensed · self-hosted
Worker Pro launch offer$25 a monthEarly access · live migration · crashed worker recovery · proprietary source-available license · From $25+/mo USD via GitHub Sponsors
Worker Pro regular price$100 a monthProprietary preset · regular price stated on launch offer page · $100 /month
Worker Pro regular pricing$100 a monthAdvanced quality-of-life features · proprietary source-available license · From $100/mo USD via GitHub Sponsors
Private Advisor sponsorship$899 a monthWorker Pro · development support contract · discounted consultancy · From $899/mo USD via GitHub Sponsors or bespoke invoicing

The facts

Each one read from Graphile Worker's own pages, with the date it was checked.

What it does

Automatic retries
Failed tasks are rescheduled with exponential backoff.checked 15 Oct 2026
Batch jobs
Array payloads can be accumulated and processed as batch jobs.checked 15 Oct 2026
Community activity
Good First Issue lists about 2,400 stars, 130 forks and four open beginner-friendly issues for the repository.checked 15 Oct 2026
Container distribution
Docker Hub publishes the graphile/worker image and repeats PostgreSQL 10+ and Node 10+ as requirements for older releases.checked 15 Oct 2026
Database integrations
The maker says Graphile Worker pairs well with PostGraphile, PostgREST, and other database-centric application frameworks.checked 8 Oct 2026
Deployment modes
It supports standalone and embedded modes, including running in the same Node.js process as an application server.checked 8 Oct 2026
Docker
An official graphile/worker Docker image is available and accepts CLI options and mounted task directories.checked 15 Oct 2026
Documentation depth
The documentation includes installation, configuration, CLI, library, schema, TypeScript, SQL, cron, scaling, error handling, Docker and FAQ sections.checked 15 Oct 2026
Future scheduling
Jobs can be scheduled for a future time with the runAt or run_at APIs.checked 15 Oct 2026
Installation
The package can be installed through npm, Yarn, or pnpm; global installation is not recommended.checked 8 Oct 2026
Intended use
The maker describes Graphile Worker as a simple-to-maintain queue for regular organizations and says it is not intended to replace dedicated queues at Facebook scale.checked 8 Oct 2026
Job controls
The feature list includes task de-duplication by unique job_key and batch jobs that append data to already enqueued jobs.checked 8 Oct 2026
Job deduplication
jobKey and jobKeyMode support replacing, updating, debouncing or deduplicating queued jobs.checked 15 Oct 2026
Legal entity
A Companies House-derived company listing identifies Graphile Ltd with registration number 11171700 and a Hampshire registered address.checked 15 Oct 2026
License
The core Graphile Worker project is released under the MIT license.checked 15 Oct 2026
Limit: dedicated queues
An independent Reddit discussion describes Graphile Worker as less suitable than dedicated high-performance queues at very large scale.checked 15 Oct 2026
Limit: PostgreSQL dependence
The project is intended for teams already using PostgreSQL and Node.js, and its throughput falls when the database becomes the bottleneck.checked 15 Oct 2026
Low latency
The feature list says job execution typically starts in under 3ms, using PostgreSQL LISTEN/NOTIFY.checked 8 Oct 2026
Node API
The library exposes run, makeWorkerUtils, addJob, quickAddJob and event interfaces for embedding workers in Node applications.checked 15 Oct 2026
Open issue: local queue documentation
The issue tracker lists documentation for the local queue as an open task.checked 15 Oct 2026
Open issue: native ESM
The project issue tracker lists native ESM support as an open feature request.checked 15 Oct 2026
Package adoption
npm lists version 0.18.0, MIT licensing, 65 published versions, 33 dependents and about 624,751 weekly downloads.checked 15 Oct 2026
Parallel execution
Workers can process jobs concurrently, while named queues can serialize related jobs.checked 15 Oct 2026

The company

Company facts
LinkedIn describes Graphile as a privately held open-source tooling company founded in 2018, headquartered in Southampton, with 2–10 employees.checked 15 Oct 2026
The full review of Graphile Worker

Graphile Worker is a self-hosted PostgreSQL queue that runs background jobs on Node.js. It best suits teams whose applications already depend on PostgreSQL and who want queue behavior they can operate themselves. The open-source core is capable and inexpensive, but its runtime requirements and missing dead-letter queue make the deployment choice consequential.

Overview

Graphile Worker stores jobs in PostgreSQL and executes them in Node.js, preventing background work from delaying application responses. It can run as a standalone worker or inside the same Node.js process as an application server. Standalone deployment separates queue processing from request handling, while embedded mode can reduce the number of services to operate.

The project is positioned as a queue that regular organizations can maintain, not as a substitute for dedicated queue infrastructure at Facebook scale. That focus is sensible for database-centric applications, particularly those using PostGraphile or PostgREST, but it leaves teams responsible for the worker runtime, PostgreSQL operations and production scaling.

Key features

Retries and job control

Jobs execute at least once. When a job fails, Graphile Worker retries it automatically with exponential backoff, and custom retry policies allow failure handling to match the workload. At-least-once delivery is useful for recovering from transient failures, but task code must tolerate repeat execution. There is no dead-letter queue, so permanently failing jobs do not have a built-in destination for isolation and later inspection.

Unique job_key values provide task de-duplication, helping prevent repeated requests from creating duplicate work. Batch jobs can append data to an already enqueued job, which is useful when several events can be consolidated before processing rather than handled as separate tasks.

Scheduling and responsiveness

Recurring tasks use crontab-like schedules, with optional backfill when scheduled runs were missed. That combination covers routine maintenance and periodic application work without requiring a separate scheduler. The feature list says execution typically starts in under 3ms through PostgreSQL LISTEN/NOTIFY, a strong fit for applications that need queue dispatch without adding a separate messaging service.

Operations and security

Graphile Worker supports SSL-encrypted PostgreSQL connections and CA certificate configuration. Installation is available through npm, Yarn or pnpm; global installation is not recommended, so projects should keep the package in their application dependency workflow. The current version requires PostgreSQL 12 or newer and Node 22.18 or newer, requirements that may rule it out for older production stacks.

Worker Pro adds crashed-worker recovery and live migration to new Worker versions. Those features address operational continuity, but they are proprietary additions rather than part of the MIT-licensed core. Community assistance is available through Graphile Discord, with professional support contracts for organizations that need a formal support relationship.

Pricing

Graphile Worker costs free and is free, open-source software under the MIT license. It is the natural choice for teams willing to run PostgreSQL and workers themselves, with no per-job charge stated.

Worker Pro Launch Offer costs $25 a month, billed from $25+ per month. It is a sponsorship plan with early access, a limited feature set and a proprietary preset, intended for sponsors rather than as a full-featured general tier.

Worker Pro regular price is $100 a month, billed monthly. It includes the proprietary preset at the stated regular price. Choose it when crashed-worker recovery and live migration justify paying for the Pro feature set; otherwise, the free core provides the primary queue functions.

Platforms

Graphile Worker is available for API, Linux, macOS and Windows environments, with a self-hosted deployment model. Official SDK languages are JavaScript and TypeScript. PostgreSQL 12+ and Node 22.18+ are required for the current version.

Who it's for

This is a strong fit for JavaScript or TypeScript teams already centered on PostgreSQL, especially those using PostGraphile, PostgREST or similar database-first frameworks. It suits organizations that want scheduling, retries and queue state in infrastructure they control and can maintain.

Look elsewhere if you need a hosted queue, exactly-once processing, a dead-letter queue or compatibility with older PostgreSQL or Node releases. Very large installations should also consider the project's stated focus on regular organizations rather than Facebook-scale queue infrastructure.

Pros and cons

  • Pros: MIT-licensed core at no cost, PostgreSQL-backed persistence, automatic exponential-backoff retries and configurable retry policies.
  • Pros: Crontab-like recurring schedules with optional backfill, de-duplication by unique job key and appendable batch jobs.
  • Pros: Standalone or embedded deployment, with SSL and CA certificate support for PostgreSQL connections.
  • Cons: Self-hosting leaves teams responsible for PostgreSQL, Node.js and worker operations.
  • Cons: At-least-once execution requires idempotent task design, and there is no dead-letter queue for failed work.
  • Cons: PostgreSQL 12+ and Node 22.18+ requirements can exclude older environments; advanced recovery and migration features require proprietary Worker Pro plans.

Alternatives

pg-boss is a direct database-oriented alternative: free MIT-licensed software that runs in your own database with no per-job charges.

Faktory fits teams wanting a freemium self-hosted queue with an AGPL open-source edition and optional enterprise packs priced at $99 a month.

IronWorker is the better comparison when API, web and hosted-style deployment options, a free trial and a Basic plan with defined concurrency and runtime quotas matter.

Django Q2 suits Django-oriented teams seeking free MIT-licensed software across Linux, macOS and self-hosted web deployments.

Hangfire is an alternative for .NET environments needing its free LGPL 3.0 Open edition and SQL Server or in-memory storage.

Gearman offers another free, open-source option under the BSD license for API, Linux, macOS, self-hosted and Windows use.

Inngest is preferable when a freemium service with hosted quotas, seats and execution limits is a better fit than operating PostgreSQL-backed workers.

Google Tasks is for personal task lists, subtasks, due dates and notifications on Android, iOS and the web, not application background-job processing.

Browse the Task Queue Software category for more queue options.

Verdict

Choose Graphile Worker if your JavaScript or TypeScript application already relies on PostgreSQL and you want a free, self-hosted queue with scheduling, retries and database-native controls. Its main reason to choose it is the capable MIT-licensed core; its main reason to look elsewhere is the operational burden and lack of a dead-letter queue.

Alternatives to Graphile Worker

All alternatives
  1. 1Inngest logo

    Inngest

    Free planOpen sourceWebAPILinuxmacOS
    8.3From $99 a month
  2. 2

    Hangfire

    Free planOpen sourceWebAPILinuxSelf-hosted
    8.0From $500 a year
  3. 3

    Gearman

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.3Free plan
  4. 4

    Google Tasks

    Free planAndroidiOSWeb
    7.0Free plan
  5. 5

    IronWorker

    Free planWebAPILinuxSelf-hosted
    6.9From $169 a month
  6. 6

    Trigger.dev

    Free planWebAPISelf-hosted
    6.8From $10 a month