How dagweave decides what runs next
Argo will start everything you give it. If one team fires a wide fan-out at the same moment another team pushes to main, both go to the cluster and the cluster sorts it out by making everything contend for the same nodes. Nothing in Argo knows that one of those two mattered more, and nothing tells either team why their steps got slower.
dagweave holds runs before they reach the cluster, so that a burst from one team is a queue for that team rather than a slow afternoon for everyone.
What a held run tells you
Section titled “What a held run tells you”A run dagweave is holding says how many of your team’s runs are ahead of it, and what it is waiting for. That is the difference between this and an Argo lock: the queue knows the order because it made it.
A run can wait twice, first for room and then on a lock inside the cluster. Those appear as two waits in the order they happened, never merged into one line. A queue wait means capacity. A lock wait means another workflow is holding something. They have different fixes, so they are different sentences.
When it holds a run
Section titled “When it holds a run”Your team has a ceiling on how many runs it may have on a cluster at once. The ceiling sits far above steady use, so it only comes into play on a burst: the fan-out that would otherwise take the whole cluster, or several pipelines firing off one merge.
When you are at the ceiling, the next run waits. When one finishes, the next one starts. Your numbers are on the plans and billing page, and a single team can be moved on its own without moving anyone else.
When it will not run at all
Section titled “When it will not run at all”Waiting and refusing are different answers and dagweave gives you the second one straight away rather than queuing something that can never start.
A run is refused rather than queued when the cluster it would go to has no connector attached, when that cluster’s Argo is too old for the workflow, or when the templates the workflow needs are not installed there. Each says which of those it is.
What this is not
Section titled “What this is not”It is not a way to stop people running things. Nothing here reserves capacity, so an idle ceiling costs you nothing, and a team alone on a cluster reaches its ceiling and no further at exactly the moment it would have flattened the cluster anyway.
It is also not a scheduler. Argo still decides which pod lands on which node, and the cluster still decides whether it has room for that pod. dagweave decides what gets handed to Argo, and when.