Graphile Worker
worker.graphile.org
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
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
- Task Queue Software#1 of 379.1