workflow 4.1.0-beta.60 → 4.1.0-beta.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -19,7 +19,7 @@ A **World** is the abstraction that allows workflows to run on any infrastructur
|
|
|
19
19
|
</Callout>
|
|
20
20
|
|
|
21
21
|
<Callout type="info">
|
|
22
|
-
**Reference Implementation:** The [Postgres World source code](https://github.com/vercel/workflow/tree/main/packages/world-postgres) is a production-ready example of how to implement the World interface with a database backend and
|
|
22
|
+
**Reference Implementation:** The [Postgres World source code](https://github.com/vercel/workflow/tree/main/packages/world-postgres) is a production-ready example of how to implement the World interface with a database backend and graphile-worker for queuing.
|
|
23
23
|
</Callout>
|
|
24
24
|
|
|
25
25
|
## What is a World?
|
|
@@ -190,7 +190,7 @@ Streams are identified by a combination of `runId` and `name`. Each workflow run
|
|
|
190
190
|
Study these implementations for guidance:
|
|
191
191
|
|
|
192
192
|
- **[Local World](https://github.com/vercel/workflow/tree/main/packages/world-local)** — Filesystem-based, great for understanding the basics
|
|
193
|
-
- **[Postgres World](https://github.com/vercel/workflow/tree/main/packages/world-postgres)** — Database-backed with
|
|
193
|
+
- **[Postgres World](https://github.com/vercel/workflow/tree/main/packages/world-postgres)** — Database-backed with graphile-worker for queuing
|
|
194
194
|
|
|
195
195
|
## Testing Your World
|
|
196
196
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Postgres World
|
|
3
|
-
description: Production-ready, self-hosted world using PostgreSQL for storage and
|
|
3
|
+
description: Production-ready, self-hosted world using PostgreSQL for storage and graphile-worker for job processing.
|
|
4
4
|
type: integration
|
|
5
|
-
summary: Deploy workflows to your own infrastructure using PostgreSQL and
|
|
5
|
+
summary: Deploy workflows to your own infrastructure using PostgreSQL and graphile-worker.
|
|
6
6
|
prerequisites:
|
|
7
7
|
- /docs/deploying
|
|
8
8
|
related:
|
|
@@ -10,7 +10,7 @@ related:
|
|
|
10
10
|
- /docs/deploying/world/vercel-world
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
The Postgres World is a production-ready backend for self-hosted deployments. It uses PostgreSQL for durable storage and [
|
|
13
|
+
The Postgres World is a production-ready backend for self-hosted deployments. It uses PostgreSQL for durable storage and [graphile-worker](https://github.com/graphile/worker) for reliable job processing.
|
|
14
14
|
|
|
15
15
|
Use the Postgres World when you need to deploy workflows on your own infrastructure outside of Vercel - such as a Docker container, Kubernetes cluster, or any cloud that supports long-running servers.
|
|
16
16
|
|
|
@@ -41,7 +41,7 @@ The migration is idempotent and can safely be run as a post-deployment lifecycle
|
|
|
41
41
|
|
|
42
42
|
## Starting the World
|
|
43
43
|
|
|
44
|
-
To subscribe to the
|
|
44
|
+
To subscribe to the graphile-worker queue, your workflow app needs to start the world on server start. Here are examples for a few frameworks:
|
|
45
45
|
|
|
46
46
|
<Tabs items={["Next.js", "SvelteKit", "Nitro"]}>
|
|
47
47
|
|
|
@@ -154,7 +154,7 @@ Default: `postgres://world:world@localhost:5432/world`
|
|
|
154
154
|
|
|
155
155
|
### `WORKFLOW_POSTGRES_JOB_PREFIX`
|
|
156
156
|
|
|
157
|
-
Prefix for
|
|
157
|
+
Prefix for graphile-worker queue job names. Useful when sharing a database between multiple applications.
|
|
158
158
|
|
|
159
159
|
### `WORKFLOW_POSTGRES_WORKER_CONCURRENCY`
|
|
160
160
|
|
|
@@ -178,7 +178,7 @@ const world = createWorld({
|
|
|
178
178
|
The Postgres World uses PostgreSQL as a durable backend:
|
|
179
179
|
|
|
180
180
|
- **Storage** - Workflow runs, events, steps, and hooks are stored in PostgreSQL tables
|
|
181
|
-
- **Job Queue** - [
|
|
181
|
+
- **Job Queue** - [graphile-worker](https://github.com/graphile/worker) handles reliable job processing with retries
|
|
182
182
|
- **Streaming** - PostgreSQL NOTIFY/LISTEN enables real-time event distribution
|
|
183
183
|
|
|
184
184
|
This architecture ensures workflows survive application restarts with all state reliably persisted. For implementation details, see the [source code](https://github.com/vercel/workflow/tree/main/packages/world-postgres).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "workflow",
|
|
3
|
-
"version": "4.1.0-beta.
|
|
3
|
+
"version": "4.1.0-beta.61",
|
|
4
4
|
"description": "Workflow DevKit - Build durable, resilient, and observable workflows",
|
|
5
5
|
"main": "dist/typescript-plugin.cjs",
|
|
6
6
|
"type": "module",
|
|
@@ -52,17 +52,17 @@
|
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"ms": "2.1.3",
|
|
55
|
-
"@workflow/astro": "4.0.0-beta.
|
|
56
|
-
"@workflow/cli": "4.1.0-beta.
|
|
55
|
+
"@workflow/astro": "4.0.0-beta.35",
|
|
56
|
+
"@workflow/cli": "4.1.0-beta.61",
|
|
57
|
+
"@workflow/core": "4.1.0-beta.61",
|
|
57
58
|
"@workflow/errors": "4.1.0-beta.16",
|
|
58
|
-
"@workflow/core": "4.1.0-beta.60",
|
|
59
59
|
"@workflow/typescript-plugin": "4.0.1-beta.4",
|
|
60
|
-
"@workflow/next": "4.0.1-beta.
|
|
61
|
-
"@workflow/nest": "0.0.0-beta.
|
|
62
|
-
"@workflow/nitro": "4.0.1-beta.
|
|
63
|
-
"@workflow/nuxt": "4.0.1-beta.
|
|
64
|
-
"@workflow/sveltekit": "4.0.0-beta.
|
|
65
|
-
"@workflow/rollup": "4.0.0-beta.
|
|
60
|
+
"@workflow/next": "4.0.1-beta.57",
|
|
61
|
+
"@workflow/nest": "0.0.0-beta.10",
|
|
62
|
+
"@workflow/nitro": "4.0.1-beta.56",
|
|
63
|
+
"@workflow/nuxt": "4.0.1-beta.45",
|
|
64
|
+
"@workflow/sveltekit": "4.0.0-beta.50",
|
|
65
|
+
"@workflow/rollup": "4.0.0-beta.18"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"@types/ms": "2.1.0",
|