Graphile Worker
Node.js task executors, SQL enqueue and serial named queues.
View pinned source / version 7a2405bdd3b6 · Features reviewed against pinned default-branch source; release label is separately verified, not assumed to be the benchmark adapter version.
What this system is built around
Node.js task executors with SQL enqueue, serial named queues and retryable PostgreSQL jobs.
A natural candidate when Node task executors and SQL-triggered enqueue fit the application. Evaluate the OSS crash-unlock delay and migration workflow against operational recovery targets.
Editorial fit, based on the cited design. Verify against your workload.Semantics & operating model
Concise claims with their scope intact. “Not verified” means this review did not establish the answer.
Claiming & concurrency
DocumentedNamed queue jobs execute one at a time. Claim SQL uses FOR UPDATE SKIP LOCKED. This is distinct from global provider rate limiting.
Transactional enqueue
DocumentedCall graphile_worker.add_job from the application transaction or a trigger; work is visible after commit.
Crash recovery & retries
QualifiedAbruptly terminated OSS workers leave jobs locked for at least four hours; periodic sweeps unlock them. Faster tracked-worker recovery is a proprietary Worker Pro feature.
Delayed & recurring work
Documentedrun_at defers a job; the built-in UTC crontab can backfill missed schedules when configured. Recurring scheduling and eventual execution are distinct.
Uniqueness / deduplication
Documentedjob_key can replace/debounce unlocked jobs; default modes enqueue a new job if the prior matching job is locked. Completed jobs are deleted, so this is not permanent deduplication.
Postgres extension required
Not requiredRequirements say pgcrypto is no longer used since v0.13. PostgreSQL 12+ and Node 22.18+ are documented current requirements.
Operator interface
Not verifiedA bundled first-party operational dashboard was not verified in this review; this does not mean third-party UIs do not exist.
Tradeoffs to carry into a test
Do not describe Worker Pro recovery as an OSS default; abrupt-death recovery is materially different.
Failures and crash recovery Worker Pro scopeunsafe_dedupe may suppress triggering work; job keys are not a provider-side exactly-once guarantee.
Job key semantics Task executor guidance