Feature request: support loading multiple workflow YAMLs per Zigflow worker #301
Replies: 1 comment 1 reply
-
|
Thanks @ShlomitSibony. This is a great discussion point and something I'd not considered. When I created Zigflow, I was definitely in the "1 YAML, 1 runner" mindset. The more I think about this, the more I think this is a good idea. I don't think there are any technical limitations to avoiding multi-YAML workers. After all, Zigflow does handle multiple workflows already. There were two reasons why I wanted "1 YAML, 1 runner":
Now I've thought about it, I think those are both a little spurious - workers can be replicated and, if you want to isolate secrets, you can still run it in a separate process/container. The next is a question of timing - I'm mainly focused on the Studio at the moment, so I don't know when I'll be able to look at this. I'm happy to receive PRs on this, but I'd like to have a design session on this before we do any work to think about the implementation. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Zigflow folks 👋
We’re rolling Zigflow out for a large set of partner workflows. Today, the recommended approach seems to be one Zigflow worker process per workflow YAML (e.g.
zigflow run -f workflow.yaml).That works well for isolation, but at our scale it becomes operationally heavy: we expect hundreds of workflow YAMLs over time, which translates into hundreds of Kubernetes deployments (monitoring, scaling, resource tuning, gitops changes, etc.). Many of these workflows are low-volume and don’t need independent scaling.
What we’d like
An option for a single Zigflow worker to load multiple workflows from a directory or list, for example:
zigflow run --workflow-dir /workflows/zigflow run --workflow-glob "/workflows/*.yaml"zigflow run -f a.yaml -f b.yaml -f c.yamlExpected behavior
document.name/ same workflow type), fail fast with a clear error.document.namespace/ taskQueue: can one Zigflow process register multiple task queues, or should multi-YAML mode require a shared task queue?Why this helps
Open questions
Beta Was this translation helpful? Give feedback.
All reactions