The RPC receiver does not implement the method "run". It seems to happen randomly after a successful build of the worker. The only thing that fixes it is re-running the build.ApiError: {"error":{"message":"error code: 524","code":524,"status":""}} which is a timeout error. I am guessing steps have a limit of 100 seconds and then kills the network call. Any way to have the step last as long as the network call lasts?



workflows.api.error.internal_server [code: 10001] in wrangler workflows ..., wrangler publish, web dashboard, and even normal api calls{ step-failed: 'blah-blah', timestamp: '' } on a onError function in the Workflow class would be super helpfulInternal Server Error, and we can't view our Workflows in the dashboard. Any incidents going on?
{retries:{limit:0}} to the step, but wrangler deploy didn't like that one when releasing to prod. So I wrapped the function with a try/catch throw new NonRetryableError() and hoped for the best. Unfortunately, we've already had our first double send. The batch send step failed with a Attempt failed due to internal workflows error, which seems to skip/miss the try/catch, so the (already successful, but now timed out) step retried step.do returns a promise, you can use .catch() on it!neverthrow in your project like I am, you can do this! options.globalFailureHandlerawait wf.complete;
console.log(await wf.output);const validationResult = await step
.do('validate', async () => {
// do some logic here
return { somedata: true };
})
.catch((e) => {
// handle your error here, and possibly re-throw it if you want it to be fatal
});const validationResult = await fromPromise(
step.do('validate', async () => {
// do some logic that could throw here
return { somedata: true };
}),
(e) => e,
).match(
(result) => result,
(e) => {
// handle your error here, and possibly re-throw it if you want it to be fatal
},
);