feat(cloudflare): add Cloudflare Workflows support#304
Conversation
When running the handler as a thread and then awaiting said thread (asyncio.to_thread), we can run asyncio.run() in the subsequent call stack.
…er orchestrator, worker orchestrator proxy for r2 and durable objects to be used in container
…chmarks-data to the appropriate branch "workflows"
|
Important Review skippedToo many files! This PR contains 206 files, which is 56 over the limit of 150. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (206)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- move Redis measurement config to provider runtime env/config - propagate workflow request ids into collected measurements - collect workflow measurements during regression runs - avoid masking workflow invocation failures in regression output - refresh cached workflow runtime configuration for measurement envs
…ure/cloudflare-workflows
Use the documented virtual-host outbound handler for container R2/KV access, remove legacy proxy and multipart paths, and add the storage latency benchmark and analysis tooling.
# Conflicts: # benchmarks/wrappers/cloudflare/nodejs/container/nosql.js # benchmarks/wrappers/cloudflare/nodejs/container/storage.js # benchmarks/wrappers/cloudflare/python/container/nosql.py # benchmarks/wrappers/cloudflare/python/container/storage.py
Use the documented virtual-host outbound handler for container R2/KV access, remove legacy proxy and multipart paths, and add the storage latency benchmark and analysis tooling.
# Conflicts: # benchmarks/wrappers/cloudflare/python/container/storage.py
Implement Cloudflare Workflows deployment, generation, invocation, and
regression support for the workflow benchmark suite.
Add a TypeScript workflow generator that translates SeBS FSM definitions into
Cloudflare Workflows, including Map and Parallel fan-out via child workflows,
Durable Object fan-in coordination, dispatcher container calls, retry handling,
and R2-backed storage support.
Add Cloudflare workflow packaging and deployment logic, wrangler workflow
templates, workflow triggers, and workflow resource/config handling for
container-based execution. Extend container readiness handling with
max_instances-aware health checks and configurable chunk_size/max_instances
settings.
Update Cloudflare Python/Node wrappers and regression selection so supported
workflow benchmarks can run on Cloudflare containers.
Regression: Cloudflare Python 3.12 workflow suite passes 13/13.