No, an eager workflow cannot currently be used as a subworkflow within a static or dynamic Flyte workflow. Eager workflows, defined with the @eager decorator, are not supported as nodes inside @workflow or @dynamic workflows due to their reliance on Python async constructs and the fact that Flyte's workflow engine does not yet support async/await within standard workflow definitions. This limitation is acknowledged in both the documentation and open issues, and support for async workflows as subworkflows is planned for future Flyte releases but is not available today. Attempting to call an eager workflow from a static workflow will result in an error or is not supported by the current API and runtime model.
For now, eager workflows are standalone and can only invoke other tasks, static workflows, or eager subworkflows within their own async context, but cannot themselves be embedded as subworkflows in a standard Flyte workflow graph. See the discussion and examples in the official documentation and GitHub issues for more details and current limitations (
source1,
source2).
Would you like more detail or code examples illustrating this limitation?
Sources:
-
GitHub Issue: Add support for async workflows
-
Eager workflows documentation š 0 button š 0 button š”
Hint: Mention @runllm in the thread for followups.