![](/img/trans.png)
[英]How can I make the code stop running after it has detected a certain tone after a set period of time?
[英]In Python's Airflow, how can I stop a task from running after a certain time?
我正在尝试使用Python的Airflow库。 我希望它定期抓取网页。
我遇到的问题是,如果我的start_date
是几天前的话,那么当我启动调度程序时,它将从start_date
回填到今天。 例如:
假设今天是每月20号。
假设开始start_date
是本月15日。
如果我在20号启动调度程序,它将在20号刮5次该页面。 它将看到一个DAG实例假定在15号运行,并将在20号运行该DAG实例(第15个)。 然后它将在20号的16号运行DAG实例,依此类推。
简而言之,Airflow会尝试“追赶”,但这对于刮网没有意义。
有什么方法可以让Airflow在一段时间后将DAG实例视为失败?
此功能在Airflow的路线图中,但当前不存在。
请参阅: 问题#1155
您可以使用BranchPythonOperator一起破解一个解决方案。 如文档中所述,请确保已设置depends_on_past=False
(这是默认设置)。 我没有设置气流,因此目前无法测试并提供示例代码。
气流的设计考虑了“回填”,因此路线图项目违背了其主要逻辑。
现在您可以更新start_date
为这个特定的任务或整个DAG。
每个操作员都有一个开始日期http://pythonhosted.org/airflow/code.html#baseoperator
调度程序不适合停止。 如果今天运行它,则可以将任务start_date设置为今天,这对我来说似乎很合理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.