Pending is not an answer.
A run queued behind a mutex looks exactly like a pod nothing will schedule. dagweave tells you which one you have, on the step that is waiting.
Three problems, one grey badge.
A workflow waiting on a mutex, a pod the scheduler cannot place, and an image that is still pulling all look identical from outside. Every one of them says Pending.
Nothing on the badge separates them.
Which lock, and who has it
You can already author semaphores and mutexes on the canvas. The run view names the one you are waiting on and the run that has it, and clocks your wait.
- A lock held by a run that finished an hour ago is not a queue. That run died without releasing it.
Nowhere to put the pod
No node with a spare GPU. Nothing with enough memory. Kubernetes already knows. dagweave puts the reason on the step.
- That wait counts as waiting, not as a slow step.
- Set it to give up after ten minutes.
The wait stays on the record
Once it moves, the time it spent waiting does not disappear. The run timeline draws the queue apart from the work, so a step that waited half an hour still reads as a scheduling problem next month.
Stop staring at a Pending badge.
dagweave is in early access. Leave an email and we will bring you on as we open it up.