Hi there! I'm interested in the ability to run fly...
# ask-the-community
т
Hi there! I'm interested in the ability to run flyte workflows with priorities so that workflows with a higher priority are executed before those with a lower one when they are running at the same time. I found some information about this in the documentation but did not understand how exactly you can start the workflow by specifying its priority as a parameter. Another question is - how can resources be managed? Let's say I have a CPU-intensive workflow, and it was experimentally revealed that my cluster is capable of processing up to 10 such workflows at the same time, what will happen if we run 20 workflows?
e
I’m not 100% sure about your first question, but I don’t think there an abstraction / setting for this cc @Yee. You could use FlyteRemote to check if a different workflow is running from inside of a dynamic task and then decide not to continue. For question two I believe your cluster will have • quota set at the project level • resource request and limits at the task level • Only a certain number of machines • Certain type of machines There are a lot of limits to worry and out and different issues, especially if you are going to hit different limits. One solution is limiting the parallelism of a workflow
Copy code
# for a specific workflow
LaunchPlan.get_or_create(
  name="cpu_intensive_wf",
  workflow=cpu_intensive_wf,
  max_parallelism=10,
)

# in helm
flyteadmin:
   maxParallelism: 25
see docs Yee will have a better answer late! He is core dev of Flyte.
k
For second question- only 10 will run. Other 10 will be queued
т
Thanks for the answers! I found this interesting article in the docs linked to both parts of my question, to be true I need some more time and research to know if this is really what I need and how to use it. https://docs.flyte.org/en/latest/deployment/configuration/customizable_resources.html#adding-new-customizable-resources