The module which provides a way to nest your DAGs and so your levels of complexity.
Available options for skipped state propagation of subdag’s tasks to parent dag tasks.
SubDagOperator(*, subdag: DAG, session: Optional[Session] = None, conf: Optional[Dict] = None, propagate_skipped_state: Optional[SkippedStatePropagationOptions] = None, **kwargs)[source]¶
This runs a sub dag. By convention, a sub dag’s dag_id should be prefixed by its parent and a dot. As in parent.child. Although SubDagOperator can occupy a pool/concurrency slot, user can specify the mode=reschedule so that the slot will be released periodically to avoid potential deadlock.
subdag – the DAG object to run as a subdag of the current DAG.
session – sqlalchemy session
conf (dict) – Configuration for the subdag
propagate_skipped_state – by setting this argument you can define whether the skipped state of leaf task(s) should be propagated to the parent dag’s downstream task.
_reset_dag_run_and_task_instances(self, dag_run, execution_date)[source]¶
Set the DagRun state to RUNNING and set the failed TaskInstances to None state for scheduler to pick up. :param dag_run: DAG run :param execution_date: Execution date :return: None