Skip to content
SPECIFICTION
Get listed

Graphile Worker

worker.graphile.org

From $25/mo Free plan Open source WindowsmacOSLinuxAPISelf-hosted
Visit worker.graphile.org
Spec score 9.1 #1 of 37 in Task Queue Software

What it is

Graphile Worker stores jobs in PostgreSQL and runs them on Node.js, so background work does not hold up application responses. It is free and open source under the MIT license, and is self-hosted in standalone or embedded mode, including within an application server's Node.js process. Jobs execute at least once, and failed jobs are retried automatically with exponential backoff. Recurring tasks can use crontab-like schedules with optional backfill; other controls include de-duplication by unique job_key and batch jobs that append data to queued jobs. The feature list says execution typically begins in under 3ms using PostgreSQL LISTEN/NOTIFY. The current version requires PostgreSQL 12+ and Node 22.18+. Installation is supported through npm, Yarn or pnpm, and global installation is not recommended. Database connections can use SSL encryption and CA certificate configuration. Community help is available through Graphile Discord, with professional support contracts also offered. Worker Pro adds crashed-worker recovery and live migration to new Worker versions.

Spec sheet

What it does
Graphile Worker stores jobs in PostgreSQL and executes them with Node.js workers.Read 15 Oct 2026 · worker.graphile.org
Purpose
Graphile Worker stores jobs in PostgreSQL and executes them on Node.js so background work does not hold up application responses.Read 8 Oct 2026 · worker.graphile.org
Security
The connection documentation describes SSL-encrypted PostgreSQL connections and CA certificate configuration.Read 8 Oct 2026 · worker.graphile.org
Support
Community help is provided through Graphile Discord and GitHub, with paid professional support available.Read 15 Oct 2026 · worker.graphile.org
License
The core Graphile Worker project is released under the MIT license.Read 15 Oct 2026 · github.com
Automatic retries
Failed tasks are rescheduled with exponential backoff.Read 15 Oct 2026 · worker.graphile.org
Batch jobs
Array payloads can be accumulated and processed as batch jobs.Read 15 Oct 2026 · worker.graphile.org
Community activity
Good First Issue lists about 2,400 stars, 130 forks and four open beginner-friendly issues for the repository.Read 15 Oct 2026 · goodfirstissue.org
Company facts
LinkedIn describes Graphile as a privately held open-source tooling company founded in 2018, headquartered in Southampton, with 2–10 employees.Read 15 Oct 2026 · linkedin.com
Container distribution
Docker Hub publishes the graphile/worker image and repeats PostgreSQL 10+ and Node 10+ as requirements for older releases.Read 15 Oct 2026 · hub.docker.com
Database integrations
The maker says Graphile Worker pairs well with PostGraphile, PostgREST, and other database-centric application frameworks.Read 8 Oct 2026 · worker.graphile.org
Deployment modes
It supports standalone and embedded modes, including running in the same Node.js process as an application server.Read 8 Oct 2026 · worker.graphile.org
Docker
An official graphile/worker Docker image is available and accepts CLI options and mounted task directories.Read 15 Oct 2026 · worker.graphile.org
Documentation depth
The documentation includes installation, configuration, CLI, library, schema, TypeScript, SQL, cron, scaling, error handling, Docker and FAQ sections.Read 15 Oct 2026 · worker.graphile.org
Future scheduling
Jobs can be scheduled for a future time with the runAt or run_at APIs.Read 15 Oct 2026 · worker.graphile.org
Installation
The package can be installed through npm, Yarn, or pnpm; global installation is not recommended.Read 8 Oct 2026 · worker.graphile.org
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.Read 8 Oct 2026 · worker.graphile.org
Job controls
The feature list includes task de-duplication by unique job_key and batch jobs that append data to already enqueued jobs.Read 8 Oct 2026 · worker.graphile.org
Job deduplication
jobKey and jobKeyMode support replacing, updating, debouncing or deduplicating queued jobs.Read 15 Oct 2026 · worker.graphile.org
Legal entity
A Companies House-derived company listing identifies Graphile Ltd with registration number 11171700 and a Hampshire registered address.Read 15 Oct 2026 · 192.com
Limit: dedicated queues
An independent Reddit discussion describes Graphile Worker as less suitable than dedicated high-performance queues at very large scale.Read 15 Oct 2026 · reddit.com
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.Read 15 Oct 2026 · github.com
Low latency
The feature list says job execution typically starts in under 3ms, using PostgreSQL LISTEN/NOTIFY.Read 8 Oct 2026 · worker.graphile.org
Node API
The library exposes run, makeWorkerUtils, addJob, quickAddJob and event interfaces for embedding workers in Node applications.Read 15 Oct 2026 · github.com
Open issue: local queue documentation
The issue tracker lists documentation for the local queue as an open task.Read 15 Oct 2026 · github.com
Open issue: native ESM
The project issue tracker lists native ESM support as an open feature request.Read 15 Oct 2026 · github.com
Package adoption
npm lists version 0.18.0, MIT licensing, 65 published versions, 33 dependents and about 624,751 weekly downloads.Read 15 Oct 2026 · npmjs.com
Parallel execution
Workers can process jobs concurrently, while named queues can serialize related jobs.Read 15 Oct 2026 · worker.graphile.org
Performance claim
Official benchmarks report roughly 183,000 trivial jobs per second with batching and average start latency near 4 milliseconds.Read 15 Oct 2026 · worker.graphile.org
Plugin extensibility
Configuration uses Graphile Config presets and plugins, allowing custom task loaders and worker behavior.Read 15 Oct 2026 · worker.graphile.org
Praise: simple existing stack
A Reddit user recommends it when an application already uses PostgreSQL because it avoids adding another queue infrastructure component.Read 15 Oct 2026 · reddit.com
Recurring tasks
Cron-like schedules support recurring jobs, optional backfill and distributed workers.Read 15 Oct 2026 · worker.graphile.org
Release migration risk
Release notes warn that some database migrations are breaking and may require stopping existing workers before upgrading.Read 15 Oct 2026 · worker.graphile.org
Reliability
Jobs execute at least once, and failures trigger automatic retries with exponential backoff.Read 8 Oct 2026 · worker.graphile.org
Requirements
The current release requires PostgreSQL 12 or newer and Node.js 22.18 or newer.Read 15 Oct 2026 · worker.graphile.org
Scaling limit
Documentation says throughput is constrained by PostgreSQL and suggests considering another queue around 5,000 or more jobs per second.Read 15 Oct 2026 · worker.graphile.org
Scheduling
Recurring tasks can use crontab-like scheduling with optional backfill.Read 8 Oct 2026 · worker.graphile.org
Security policy
Only the latest release generally receives security updates, and the project reports no published security advisories.Read 15 Oct 2026 · github.com
Self-hosting
The software manages its own graphile_worker database schema and can run in CLI or embedded library mode.Read 15 Oct 2026 · worker.graphile.org
SQL API
The public graphile_worker.add_job SQL function lets applications, triggers and database functions enqueue work.Read 15 Oct 2026 · worker.graphile.org
Supported requirements
The current version requires PostgreSQL 12+ and Node 22.18+.Read 8 Oct 2026 · worker.graphile.org
Task languages
Task executors are JavaScript or TypeScript functions, and experimental executable-file tasks can run on Linux or Unix systems.Read 15 Oct 2026 · worker.graphile.org
Worker Pro features
Worker Pro adds crashed worker recovery and live migration to new Worker versions.Read 8 Oct 2026 · worker.graphile.org

Plans and prices

Graphile Worker Free Free and open-source · MIT license Read 8 Oct 2026 · worker.graphile.org
Graphile Worker OSS Free PostgreSQL-backed Node.js job queue · MIT licensed · self-hosted Read 15 Oct 2026 · worker.graphile.org
Worker Pro launch offer $25 a month From $25+/mo USD via GitHub Sponsors Early access · live migration · crashed worker recovery · proprietary source-available license Read 15 Oct 2026 · worker.graphile.org
Worker Pro Launch Offer $25 a month From $25+ /mo; sponsorship Early access · limited feature set · proprietary preset · access for sponsors Read 8 Oct 2026 · worker.graphile.org
Worker Pro regular price $100 a month $100 /month Proprietary preset · regular price stated on launch offer page Read 8 Oct 2026 · worker.graphile.org
Worker Pro regular pricing $100 a month From $100/mo USD via GitHub Sponsors Advanced quality-of-life features · proprietary source-available license Read 15 Oct 2026 · worker.graphile.org
Private Advisor sponsorship $899 a month From $899/mo USD via GitHub Sponsors or bespoke invoicing Worker Pro · development support contract · discounted consultancy Read 15 Oct 2026 · worker.graphile.org

Every Graphile Worker plan and price →

Strong points and limits

Strong points

  • Free and open source under the MIT license
  • Automatic retries use exponential backoff
  • Recurring tasks support schedules and optional backfill
  • Can run embedded in a Node.js application

Limits

  • Requires PostgreSQL 12+ and Node 22.18+
  • Self-hosted deployment is required
  • No dead-letter queue

Who it suits

It suits development teams that use PostgreSQL and Node.js and want a self-hosted background job worker with scheduling and retry controls. The maker describes it for regular organizations, not as a replacement for dedicated queues at Facebook scale.

Verdict

Graphile Worker provides PostgreSQL-backed jobs, scheduling and automatic retries in a self-managed deployment. Check its version requirements and lack of a dead-letter queue against your workflow.

Where Specifiction places it

Alternatives to Graphile WorkerAll alternatives →