Cloudflare Developers

CD

Cloudflare Developers

Welcome to the official Cloudflare Developers server. Here you can ask for help and stay updated with the latest news

Join

I'm using workflows and I really like

I'm using workflows and I really like the built-in design to retry individual steps, very much like a multi-queue solution for each step. However, I'm also using queues to trigger N instances of the workflow as I want to space out some external calls, so I'm using delay with the queue. But I'd very much like the workflow to receive the original batch. This would allow for a much more robust acknowledgement and retry mechanism. If the workflow has access to the JS API of the queue batch, it will be able to control acknowledgment of the message. By retrying the queue message, it will be able to revert back executed steps by retrying the queue message and triggering a new workfow instance resetting the state....

Workers Observability <> Workflows

I'm now using Workflows in production. Dozens of runs, everything works great! The ability to view each instance in the dashboard is very cool and helps a lot. I have noticed, however, that each instance run produced an error log like this: ``` {...

On your first point, not necessarily,

On your first point, not necessarily, since if the first run makes the 1,000 requests, stores its state, and is restarted, it will skip those first 1k requests

Is this in prod? Local dev? What version

Is this in prod? Local dev? What version of wrangler?

DLQ Equivalent

Is there a deadletter "queue" equivalent for workflows/workflow steps? Ie. I want to know when a step stopped retrying so I can manually intervene.

Please help, my workflow is crashing and

Please help, my workflow is crashing and not continuing to next steps due to CPU limit exceeded but I do everything inside steps, there is virtually no work done in the workflow itself.

any idea why i get this error when using

any idea why i get this error when using this retry policy { retries: { limit: 12, delay: '2s', backoff: 'constant' } }
✘ [ERROR] Uncaught (in promise) Error: NOT NULL constraint failed: priority_queue.target_timestamp: SQLITE_CONSTRAINT
✘ [ERROR] Uncaught (in promise) Error: NOT NULL constraint failed: priority_queue.target_timestamp: SQLITE_CONSTRAINT
...

is there a way to know within a step if

is there a way to know within a step if it's retrying, and if so, can you get the error that made it fail?

Sounds good. I have like roughly 10k

Sounds good. I have like roughly 10k instances brokenly queued. How to bulk terminate them? 🤔

Ideas for noisy-neighbors in multi-tentant systems

It’s account wide (all of your Workflows). We’ll be bringing per-Workflow controls, and the limit on the paid plan will increase as we go.

And does anyone has thoughts about these

And does anyone has thoughts about these two options. Is there any difference between them, and if so what is the difference?
No description

Sure, I can share some pieces that I

Sure, I can share some pieces that I reckon is relevant. Appreciate your help. I did deploy the worker, yes. wrangler.toml ```toml [[workflows]]...

Sometimes I get this error: "A call to

Sometimes I get this error: "A call to blockConcurrencyWhile() in a Durable Object waited for too long. The call was canceled and the Durable Object was reset."

Latency issues

How many Workflows do you have running? We are aware of the some performance issue under heavy load (per account) and we are working on fixes for it...

feel like i must be doing something

feel like i must be doing something stupid but trying to run the workflows-starter and getting a 500 when trying to create a workflow: ``` [wrangler:inf] GET / 500 Internal Server Error (48ms) [wrangler:inf] GET /favicon.ico 404 Not Found (2ms) id null...

Workflow hono workers question

Yes, you can add as bindings. Also, you can create an endpoint to manage your workflow by reaching your instance. You can start, pause or resume your workflow via that hono endpoint.

I haven't seen this mentioned anywhere

I haven't seen this mentioned anywhere in the docs - I can't figure out if sleeping executions are counted towards the concurrency limit. https://discord.com/channels/595317990191398933/1301574574508474399...

I'm getting a `Type instantiation is

I'm getting a Type instantiation is excessively deep and possibly infinite. in a step. I don't think it's a very complex type being returned
No description

What is the function passed to `step.do`

What is the function passed to step.do supposed to return? If I return anything at all from it, it causes the workflow to throw an exception after finishing successfully, every time, and I can't figure out what I'm doing wrong

Socket Mode

I was just experimenting with this myself - I was about to try opening a websocket to the Slack API in Socket Mode and try to wrap the onmessage handler with a promise that could be awaited in the step https://api.slack.com/apis/socket-mode
Next