我使用气流开始日期:
from airflow.utils import dates
...
"start_date": dates.days_ago(3)
结果是:2020-11-14 00:00:00+00:00
我希望utc中的日期格式为2020-11-14 00:00:00
还想将时间增量(分钟=5(添加到2020-11-14 00:00:00
如何使用python(气流(
首先让我指出不建议使用start_date
的动态日期:
我们建议不要使用动态值作为start_date,尤其是datetime.now((,因为它可能非常令人困惑。任务被触发一旦周期结束,理论上每小时一次的DAG永远不会得到现在((移动到一个小时后。
其次,我很困惑为什么它对你来说很重要,无论是约会时间还是钟摆。start_date
和interval
被用于调度器来实现它的魔术。因此,您需要根据要求的规范提供它们。
你没有写任何关于你真正想做什么的信息。我认为你真正想要的是如何利用start_date
来完成任务。为此,你可以随心所欲地得到它。气流提供了一些摆锤类型的宏。
请注意,您可以通过以下方式获得任务所需的格式:
EXEC_DATE = "{{ execution_date.strftime('%Y-%m-%d %H:%M:S') }}"
如果你想添加delta,你可以做:
EXEC_DATE = "{{ (execution_date + macros.timedelta(minutes=5)).strftime('%Y-%m-%d %H:%M:S') }}"
考虑使用"datetime"包。它真的很容易使用。
https://docs.python.org/3/library/datetime.html