uranusjr commented on code in PR #30706:
URL: https://github.com/apache/airflow/pull/30706#discussion_r1178040691
##########
airflow/jobs/scheduler_job_runner.py:
##########
@@ -1308,8 +1308,18 @@ def _create_dag_runs_dataset_triggered(
DatasetDagRunQueue.target_dag_id == dag_run.dag_id
).delete()
- def _should_update_dag_next_dagruns(self, dag, dag_model: DagModel,
total_active_runs: int) -> bool:
+ def _should_update_dag_next_dagruns(
+ self, dag: DAG, dag_model: DagModel, session: Session,
total_active_runs: int = -1
+ ) -> bool:
"""Check if the dag's next_dagruns_create_after should be updated."""
+ # If dag has no interval or timetable then skip save runtime
+ if not dag.schedule_interval and isinstance(dag.timetable,
NullTimetable):
+ return False
Review Comment:
1. Do you mean if a DAG _can only be manually triggered_? That would be
`dag.timetable.can_run`.
2. Not sure I’m getting what you mean on this one.
3. Using `None` would make other parts of the code a lot more complicated
because everything everywhere needs to check for None. This is called the [null
object pattern](https://en.wikipedia.org/wiki/Null_object_pattern).
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]