Skip to content

Conversation

@kschmelter13
Copy link

@kschmelter13 kschmelter13 commented Oct 31, 2025

Implement workflow world using PostgreSQL for durable storage and Redis for queue processing and streaming. Uses Redis Lists with Pub/Sub for job queues and Redis Streams for real-time data streaming, providing 3-6x faster performance than pg-boss while maintaining the same guarantees. #106

Implement workflow world using PostgreSQL for durable storage and Redis
for queue processing and streaming. Uses Redis Lists with Pub/Sub for
job queues and Redis Streams for real-time data streaming, providing
3-6x faster performance than pg-boss while maintaining the same guarantees.
@changeset-bot
Copy link

changeset-bot bot commented Oct 31, 2025

⚠️ No Changeset found

Latest commit: f8bf552

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link
Contributor

vercel bot commented Oct 31, 2025

@kschmelter13 is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.

@socket-security
Copy link

socket-security bot commented Oct 31, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​testcontainers/​redis@​11.7.21001007695100
Addednpm/​redis@​4.7.110010010097100

View full report

Fix the queue worker to use BRPOP for blocking item retrieval, enhancing performance and reliability. Each worker now utilizes a separate Redis client to prevent connection blocking.
Renamed the PostgresWorldConfig interface to PostgresRedisWorldConfig to better reflect its purpose. Added redisUrl property to the configuration, ensuring the Redis URL is sourced from the config in the createWorld and createQueue functions.
…e error handling in queue processing

Updated the TTL for idempotency keys from 10 minutes to 24 hours to provide a longer safety net against memory leaks. Enhanced error handling in the queue worker by adding a retry mechanism for BRPOP errors, ensuring graceful recovery from network issues.
@VaguelySerious
Copy link
Member

@kschmelter13 Thanks for contributing! We love supporting community-created worlds as much as we can, while also making sure the community isn't bottlenecked by us reviewing/maintaining all the worlds.

Since a world is just an npm package, do you want to take a stab at publishing your world as an npm package yourself? If you provide us with a link, we'll add your package to the list of community worlds on useworkflow.dev

If you think this should be part of the main workflow repository instead, please let us know your reasoning. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants