[英]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.