my solution to this was to pass the work off to a container.
my solution to this was to pass the work off to a container.
step.do call or just some sort of top-level orchestration that would kick off smaller workflows? If you mean all of step.do calls, what value is wrapping it in a workflow even adding then since you lose all of the Workflow APIs inside of the Container where the processing is being done?NonRetryableError outside of step, but the the message was not used as an error.

workflows/example-workflow/instance/runID)? We have a step that passes API keys to another step, and it's all logged in the workflow runs... which isn't ideal.timeout within waitForEvent means that after that timeout workflow continues or workflow is being stopped?
workerd's C++ are multithreaded or not though (i.e. hashing)
max_concurrency setting for consumer Queues?waitForEvent()s running at the same time for a single Workflow instance? I am starting a Workflow when a user begins uploading a series of files to R2, and using R2 Event Notifications to notify the Workflow when each file is complete. I don't think I can guarantee the order of upload so I would prefer to wait for all files to be uploaded at the same time. Otherwise I will use a single waitForEvent that will re-trigger another wait.. until all required files are uploadedwaitForEvent type parameter, it breaks things. So like, video.mp4 doesn't work, giving workflow.invalid_event_type, even though they're both strings. Does the period need to be escaped?
waitForEvent. I know I can defer this polling to a DO, but would be useful to do it within the existing flow

await step.do("generate images", async () => {
void containerFetch(this.env, "/pdf-to-images", {
document_id: document.id,
file: pdf,
workflow_id: event.instanceId,
});
});
if (!hasLastPageImage) {
await step.waitForEvent("images generated", {
timeout: "1 hour",
type: WorkflowEventType.ImagesGenerated,
});
}NonRetryableError workflows/example-workflow/instance/runIDtimeoutmax_concurrencywaitForEvent()wait..video.mp4run(){
while(true){
await step.do(...)
await step.sleep(5 min)
}
}