I'm running Airflow v2.2.3 on Kubernetes.
I have a dedicated scheduler pod, a dedicated web-server pod and I'm using Kubernetes Executors.
I have ~4,000 DAGs, created dynamically in a for-loop.
I read Astronomer's post about "fast-follow" (also called "mini-scheduler") and I wonder if there's an option to disable it via configuration or something.
The thing is, that it comes with a penalty where:
- Dynamic DAGs are being calculated per each task operator, as a new fresh executor is running every time - I never saw reuse of Kubernetes executor (and if it using pod's
patchverb for that - I guess that the dynamic DAGs would recalculated again anyway). - The time it takes to recalculate dynamic DAGs lead to a "queued" status for every task - which mean that a lot of time is spent just for recalculating the DAGs over and over again.
- Is there a configuration (or any other way) to disable the mini-scheduler?
- Am I using the KubernetesExecutor wrong? should it stay up for more than one task (and thus calculate the dags only at the beginning)
- I'm running a multi-tenant setup, where each one of my customers (businesses) run it's own DAG - but they all look the same (except input arguments + schedule time). Should I take a different approach? (other than using a dedicated DAG per customer).
Thanks