zhongjiajie commented on a change in pull request #7157: [AIRFLOW-6251] add
config for max tasks per dag
URL: https://github.com/apache/airflow/pull/7157#discussion_r366363132
##########
File path: airflow/models/dagbag.py
##########
@@ -300,26 +302,37 @@ def process_file(self, filepath, only_if_updated=True,
safe_mode=True):
dag.full_filepath = filepath
if dag.fileloc != filepath and not is_zipfile:
dag.fileloc = filepath
- try:
- dag.is_subdag = False
- self.bag_dag(dag, parent_dag=dag, root_dag=dag)
- if isinstance(dag._schedule_interval, str):
- croniter(dag._schedule_interval)
- found_dags.append(dag)
- found_dags += dag.subdags
- except (CroniterBadCronError,
- CroniterBadDateError,
- CroniterNotAlphaError) as cron_e:
- self.log.exception("Failed to bag_dag: %s",
dag.full_filepath)
+
+ num_tasks = len(dag.tasks)
+ if max_tasks_per_dag > 0 and num_tasks > max_tasks_per_dag:
Review comment:
After some quick look, in
https://github.com/apache/airflow/blob/4a344f13d26ecbb627bb9968895b290bfd86e4da/airflow/cli/commands/webserver_command.py#L90
And it work in
```py
In [1]: x = 0
In [2]: num_task = 10
In [3]: 0 < x < num_task
Out[3]: False
In [4]: 0 <= x < num_task
Out[4]: True
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services