trigger_rule.TriggerRule 使用气流
trigger_rule.TriggerRule utils airflow
我有一个问题,但我没有找到任何相关信息。
使用 'airflow.utils.trigger_rule' 或仅用字符串声明 trigger_rule 有什么区别,我留下两个例子。
显然 airflow.utils.trigger_rule 还有其他实用程序,但我还不了解它们
delete_bq_table = bash_operator.BashOperator(
task_id='delete_bq_table',
bash_command='bq rm -f %s' % bq_dataset_name + '.' +inst_dag_id,
trigger_rule=trigger_rule.TriggerRule.ALL_DONE
)
和
delete_bq_table = bash_operator.BashOperator(
task_id='delete_bq_table',
bash_command='bq rm -f %s' % bq_dataset_name + '.' +inst_dag_id,
trigger_rule='all_done'
)
没有区别。您可以使用任何您喜欢的选项。
我个人更喜欢使用:
from airflow.utils.trigger_rule import TriggerRule
然后 TriggerRule.ALL_DONE
只是因为它避免了语法错误,因为它在 IDE.
中提供了自动完成功能
Airflow 正在转换 TriggerRule class to inherit from Enum (see Github issue)
我有一个问题,但我没有找到任何相关信息。
使用 'airflow.utils.trigger_rule' 或仅用字符串声明 trigger_rule 有什么区别,我留下两个例子。
显然 airflow.utils.trigger_rule 还有其他实用程序,但我还不了解它们
delete_bq_table = bash_operator.BashOperator(
task_id='delete_bq_table',
bash_command='bq rm -f %s' % bq_dataset_name + '.' +inst_dag_id,
trigger_rule=trigger_rule.TriggerRule.ALL_DONE
)
和
delete_bq_table = bash_operator.BashOperator(
task_id='delete_bq_table',
bash_command='bq rm -f %s' % bq_dataset_name + '.' +inst_dag_id,
trigger_rule='all_done'
)
没有区别。您可以使用任何您喜欢的选项。 我个人更喜欢使用:
from airflow.utils.trigger_rule import TriggerRule
然后 TriggerRule.ALL_DONE
只是因为它避免了语法错误,因为它在 IDE.
Airflow 正在转换 TriggerRule class to inherit from Enum (see Github issue)