Workarounds discussed include implementing a "resource lock" task at the start of workflows, which queries Flyte for running executions and waits (e.g., with sleep loops) if the concurrency threshold is reached. This approach can throttle concurrent executions but is considered hacky and leads to many semi-dangling or blocked tasks if the number of queued executions is high, making it inefficient and not scalable (
source). Another suggestion is to use distributed locks or external systems (like Zookeeper), but this adds operational complexity and external dependencies (
source). No workaround is described as fully successful or robust for production-scale needs; all are acknowledged as suboptimal until a native feature is implemented.
Would you like more detail on how to implement these workarounds or updates on the status of native support?
Sources:
-
github.com/flyteorg/flyte/issues/5125
-
github.com/flyteorg/flyte/issues/267 👍 1 button 👎 0 button 💡
Hint: Mention
@ancient-wolf-19325 in the thread for followups.