Refactor world-postgres queue execution away from loopback HTTP
@NathanColosimo is already working on this.
Since Jun 26, 2026.
- Dominant language
- TypeScript
- Stars
- 2.4k
- Forks
- 365
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 169
Description
Summary
@workflow/world-postgres currently executes Graphile jobs by POSTing back into the app workflow HTTP route. That kept Next production route registration correct after #1417, but #2656 shows the loopback transport can consume jobs before the local server is reachable.
Proposal
Retry the #1334 direction, but keep the implementation small: let Postgres own the queue-handler wrapper it needs, register the generated workflow handler in-process, and have Graphile call that handler directly. Durable delays and retries should stay in Graphile, and the code should not reintroduce a dependency on @workflow/world-local for queue execution.
Context
- Symptom: #2656
- Prior direct attempt: #1334
- HTTP-only revert/fix: #1417
Acceptance criteria
- Graphile workers do not need
WORKFLOW_LOCAL_BASE_URL,PORT, or loopback fetch to execute workflow messages. - The returned HTTP handler still works for framework route requests and health checks.
- Delayed re-execution remains durable via Graphile
runAtjobs. - The old #1417 production failure mode is covered by tests or made impossible by the current combined route registration path.
- The final diff removes more Postgres/local coupling than it adds.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.