气流调度,重新运行失败的任务

时间:2018-10-28 08:40:47

标签: google-cloud-platform google-bigquery google-cloud-datastore airflow airflow-scheduler

尽管我已经能够为reads(数据存储)和writes(bigquery)编写代码,但我对气流还很陌生。 我无法安排我的工作/任务。 我想每2个小时运行一次作业,从前2个小时从源中读取数据。 现在,如果任务失败,我想手动重试,但是要运行2个小时。我该如何完成? 我想到了几件事:

  • 存储计划运行的作业ID和时间范围。再试一次,我可以从sqlite或其他数据库中读取它。
  • Airflow有一个内置变量,该变量指向该作业的执行时间,可以在我的代码中使用。

我应该考虑其他选择吗?或以上任何一个?

1 个答案:

答案 0 :(得分:1)

我假设您在任务中使用当前日期时间(例如now()),对吗?

优良作法是在Airflow Context中使用execution_date的值,而不是在操作员中调用datetime.now(),因为即使您重新安排计划作业的execution_date也不会更改-执行DAG /任务。