Google cloud platform 气流计划,重新运行失败的任务
虽然我已经能够编写读(数据存储)和写(bigquery)的代码,但我对airflow还是相当陌生。 我无法安排我的工作/任务。 我想每2小时运行一次作业,从源读取前2小时的数据。 现在,如果一个任务失败,我想手动重试,但在特定的2个小时内,它应该运行。我如何做到这一点? 我有两件事要考虑:Google cloud platform 气流计划,重新运行失败的任务,google-cloud-platform,google-bigquery,google-cloud-datastore,airflow,airflow-scheduler,Google Cloud Platform,Google Bigquery,Google Cloud Datastore,Airflow,Airflow Scheduler,虽然我已经能够编写读(数据存储)和写(bigquery)的代码,但我对airflow还是相当陌生。 我无法安排我的工作/任务。 我想每2小时运行一次作业,从源读取前2小时的数据。 现在,如果一个任务失败,我想手动重试,但在特定的2个小时内,它应该运行。我如何做到这一点? 我有两件事要考虑: 存储作业id及其计划运行的时间范围。在重试时,我可以从sqlite或其他数据库读取它 Airflow有一个内置变量,它指向该作业的预期执行时间,我可以在代码中使用该时间 我该考虑其他的选择吗?或者上述任何
- 存储作业id及其计划运行的时间范围。在重试时,我可以从sqlite或其他数据库读取它
- Airflow有一个内置变量,它指向该作业的预期执行时间,我可以在代码中使用该时间
我该考虑其他的选择吗?或者上述任何一项?我假设您在任务中使用了当前日期时间(如now()),是吗
好的做法是在Airflow上下文中使用
execution\u date
的值,而不是在操作符中使用call datetime.now(),因为即使重新执行DAG/任务,计划作业的execution\u date
也不会更改。您能发布DAG脚本并解释其中有什么不起作用吗?是的,我猜出来了,我希望会有一些基于上下文的内部变量。谢谢