Workflows: add info that in local dev, pause and resume methods are not available - #19988
Workflows: add info that in local dev, pause and resume methods are not available#19988bruxodasilva wants to merge 2 commits into
Conversation
irvinebroque
left a comment
There was a problem hiding this comment.
Seems much more discoverable here, no?
https://docs.sentry.io/platforms/javascript/guides/cloudflare/
If I call one of these unsupported methods locally, how do I know it's not supposed to work, without reading the docs?
|
|
||
| [^2]: Using Vectorize always accesses your Cloudflare account to run queries, and will incur usage charges even in local development. | ||
|
|
||
| [^3]: `pause()` and `resume()` are not available in local development. |
There was a problem hiding this comment.
If they're not in local dev, and Workflows doesn't work in remote dev, that means...you just have to write code ship to prod and trust it will work? Or am I missing something?
There was a problem hiding this comment.
@irvinebroque No, you're correct. pause and resume are not supported locally. However, writing and running a WorkflowEntrypoint is. wrangler dev on a project that exports a WorkflowEntrypoint works and that's what I would classify as local development to assert if something works before shipping to production.
Pause and resume are unsupported at the moment due to a miniflare limitation (killing the engine DO kills all threads unless I'm mistaken). Pause and resume are also often not in the happy path for p90 Workflows use cases so we are happy with that being a foot note for now until we are unblocked.
Guessing link is incorrect. Using them locally throws an Error documenting that they are unsupported at the moment. |
|
Howdy and thanks for contributing to our repo. The Cloudflare team reviews new, external PRs within two (2) weeks. If it's been two weeks or longer without any movement, please tag the PR Assignees in a comment. We review internal PRs within 1 week. If it's something urgent or has been sitting without a comment, start a thread in the Developer Docs space internally. PR Change SummaryUpdated local development documentation for Workflows to clarify the unavailability of pause and resume methods.
Modified Files
How can I customize these reviews?Check out the Hyperlint AI Reviewer docs for more information on how to customize the review. If you just want to ignore it on this PR, you can add the Note specifically for link checks, we only check the first 30 links in a file and we cache the results for several hours (for instance, if you just added a page, you might experience this). Our recommendation is to add |
|
This has conflicts, so closing out. Feel free to re-open as a new PR if still required. |
Pull request was closed
… code examples Address the inconsistency where MySQL examples included ctx.waitUntil(connection.end()) but all PostgreSQL examples (node-postgres, postgres.js, Drizzle, Prisma, Timescale tutorial) omitted client cleanup entirely. This adds: - ctx.waitUntil(client.end()) to all PostgreSQL code examples - ctx.waitUntil(connection.end()) to MySQL Drizzle ORM example - ctx.waitUntil(prisma.$disconnect()) to Prisma ORM example - A new 'Cleaning up client connections' section in connection-lifecycle.mdx explaining the best practice and clarifying that .end() only closes the local client, not the Hyperdrive-managed pool connection - Consistent comments across all examples explaining that Hyperdrive keeps the underlying database connection open in its pool for reuse - Updated step-by-step explanations in get-started.mdx for both PG and MySQL Also fixes pre-existing bugs: - Missing 'return' in node-postgres partial catch block - Missing error response in mysql2 partial catch block - Changed mysql2 Drizzle ORM import from 'mysql2' to 'mysql2/promise' for correct Promise-based .end() behavior Closes #19988
* Add connection cleanup (ctx.waitUntil client.end()) to all Hyperdrive code examples Address the inconsistency where MySQL examples included ctx.waitUntil(connection.end()) but all PostgreSQL examples (node-postgres, postgres.js, Drizzle, Prisma, Timescale tutorial) omitted client cleanup entirely. This adds: - ctx.waitUntil(client.end()) to all PostgreSQL code examples - ctx.waitUntil(connection.end()) to MySQL Drizzle ORM example - ctx.waitUntil(prisma.$disconnect()) to Prisma ORM example - A new 'Cleaning up client connections' section in connection-lifecycle.mdx explaining the best practice and clarifying that .end() only closes the local client, not the Hyperdrive-managed pool connection - Consistent comments across all examples explaining that Hyperdrive keeps the underlying database connection open in its pool for reuse - Updated step-by-step explanations in get-started.mdx for both PG and MySQL Also fixes pre-existing bugs: - Missing 'return' in node-postgres partial catch block - Missing error response in mysql2 partial catch block - Changed mysql2 Drizzle ORM import from 'mysql2' to 'mysql2/promise' for correct Promise-based .end() behavior Closes #19988 * Fix post-merge issues: wrong variable name in Drizzle Postgres example and missing cleanup in index.mdx PostgreSQL example --------- Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Matt Silverlock <msilverlock@cloudflare.com>
Summary
Add info that for Workflows, in local dev, pause and resume methods are not available
Relates to issue 8128
Closes WOR-506