Based on the research, I can answer your specific scenario: Yes, a flow in the "important" queue (priority 2) CAN run even while the "critical" queue (priority 1) is at its concurrency limit of 3 running flows.
Here's how it works:
1. Each work queue maintains its own independent concurrency limit
2. The "critical" queue having 3 running flows means it's at its limit (3)
3. The "important" queue can still run up to 5 concurrent flows, regardless of the state of the "critical" queue
Priority only affects the order in which flows are picked up when they're first submitted. It doesn't create a blocking relationship between queues. Think of it this way:
- Priority determines "who gets picked first" when flows are waiting
- Concurrency determines "how many can run at once" for each queue
So in your case:
- Critical queue: Priority 1, currently running 3/3 flows (at limit)
- Important queue: Priority 2, can still run up to 5 flows regardless of critical queue's state
This design allows for efficient resource utilization while still maintaining preferential treatment for higher-priority workloads when they're first submitted.
You can find more details about this behavior in the documentation:
-
Work Pools and Queues Concepts
-
Global Concurrency Limits Guide