我有,我們將部署到多個不同的氣流情況,並在我們的airflow.cfg我們dags_are_paused_at_creation = True
但對於這個特定的DAG我們希望它被打開,而無需通過點擊UI人工手動做一個DAG。有沒有辦法做到這一點編程?氣流取消暫停DAG編程?
回答
氣流REST的API-plugin插件也可用於問題地暫停的任務。
暫停一個DAG
可在氣流版本:1.7.0或更高
GET - HTTP:// {HOST}:{PORT} /管理/ rest_api/API的API =暫停
查詢參數:
dag_id - 字符串 - 字符串 - - 文件位置達格
子目錄(可選)的ID或目錄從中 外表爲DAG
實例:
HTTP:// {HOST}:{PORT} /管理/ rest_api/API的API =暫停& dag_id =爲test_id
詳情請見: https://github.com/teamclairvoyant/airflow-rest-api-plugin
我創建了下面的函數這樣做,如果別人運行到這個問題: import airflow.settings from airflow.models import DagModel def unpause_dag(dag): """ A way to programatically unpause a DAG. :param dag: DAG object :return: dag.is_paused is now False """ session = airflow.settings.Session() try: qry = session.query(DagModel).filter(DagModel.dag_id == dag.dag_id) d = qry.first() d.is_paused = False session.commit() except: session.rollback() finally: session.close()
供應的dag_id和你的命令行上運行此命令。
airflow pause dag_id.
對於氣流命令行界面的更多信息:https://airflow.incubator.apache.org/cli.html
真棒,無法相信我錯過了這一點。不完全是編程,但仍然可以只使用一個BashOperator來運行或使用該子模塊來執行它。我也看到,現在這裏https://github.com/apache/incubator-airflow/blob/master/airflow/bin/cli.py#L307我有相同的代碼,所以是的,我只會用這個。 –
- 1. 氣流DAG觸發
- 2. 暫停和取消暫停線程
- 3. 氣流:如何刪除DAG?
- 4. 暫停和取消暫停AS2動畫
- 5. 在氣流中運行DAG時的「處理信號:ttou」消息
- 6. 氣流動態DAG和任務Id
- 7. 氣流:1.7:DAG不在GUI中更新
- 8. 如何巢氣流DAG動態?
- 9. Windows中的氣流DAG開發PyCharm
- 10. 如何取消暫停線程的Qt
- 11. 任務取消暫停UI
- 12. 取消暫停這個NSTimer?
- 13. 暫停time.time流
- 14. 叫暫停流
- 15. 氣流調度程序標記刪除的DAG爲活動
- 16. 氣流dag bash任務滯後於遠程執行
- 17. 切換按鈕暫停/取消暫停音頻監聽器
- 18. 暫停工作流
- 19. 如何停止,暫停,取消java中的線程
- 20. 秒錶取消暫停不起作用
- 21. 「暫停」.NET 4中的工作流程?
- 22. 暫時停止一個控制流程
- 23. 如何暫停工作流程並恢復工作流程?
- 24. 將新任務引入DAG時,氣流調度程序是否會重新運行先前的DAG運行?
- 25. 氣流不會觸發與`LocalExecutor`同時發生的DAG
- 26. 氣流 - Python文件不在同一個DAG文件夾中
- 27. 氣流中相關DAG之間的任務沿襲
- 28. 氣流回填新任務添加到Dag
- 29. 如何在氣流中設置多個Dag目錄
- 30. 未在/ usr/local/airflow/dags中加載dag的氣流
你也可以使用取消暫停(參數=「」,DAG = DAG)方法airflow.bin.cli –