如何手动触发气流障碍?

时间:2019-12-13 02:03:43

标签: airflow airflow-scheduler

我已经在Airflow上工作了一段时间,调度程序没有问题,但是现在遇到了问题。

基本上,我已经准备好脚本并准备好执行任务,但是该任务不会定期运行。相反,它需要在随机时间激活。 (外部各方会告诉我们现在是时候了,我们将运行它。在接下来的几个月中,这可能会发生很多次。)

反正有手动触发dag吗?也欢迎任何其他方向/建议。 谢谢。

3 个答案:

答案 0 :(得分:1)

您在这里有很多选择:

如果这真的是100%手动的,那么您可能会使用UI或CLI。如果您希望让外部用户自己间接触发它,则可以选择API或操作员。请记住在DAG上设置schedule_interval=None

答案 1 :(得分:0)

气流有API。您需要的方法是POST /api/experimental/dags/<DAG_ID>/dag_runs。使用此方法,您还可以为dag运行传递配置参数。

我们使用Jenkins手动触发dags。如果您使用的是Jenkins,则可以检查our jenkins pipeine library

答案 2 :(得分:0)

因此,可以通过以下方式触发dag:

  • 使用REST API参考(see documentation

    端点-

    > POST   /api/experimental/dags/<DAG_ID>/dag_runs
    
    1. 使用卷发:

      curl -X POST
      http:// localhost:8080 / api / experimental / dags / / dag_runs
      -H'缓存控制:无缓存'
      -H'内容类型:application / json'
      -d'{“ conf”:“ {” key“:” value“}”}'

    2. 使用Python请求:

         import requests
         response = requests.post(url, data=json.dumps(data), headers=headers)
      
  • 使用@Daniel提到的UI中存在的触发器DAG选项