Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中取消暂停和暂停dag_Python_Google Cloud Platform_Airflow_Google Cloud Composer - Fatal编程技术网

在python中取消暂停和暂停dag

在python中取消暂停和暂停dag,python,google-cloud-platform,airflow,google-cloud-composer,Python,Google Cloud Platform,Airflow,Google Cloud Composer,情景: 我做了一个POST调用,该调用触发一个进程导出一个文件,该调用返回一个export-ID。该进程可能需要未知的时间才能完成,因此我必须定期使用export ID进行GET调用,以查看该进程是否完成,每次导出完成后,此GET调用都会返回一个状态和一个指向下载位置的URL 目标: 我想创建一个Dag来启动这个导出,然后等待20分钟并发送GET请求以查看URL是否存在,这意味着导出已经完成 问题: 由于我们不知道导出需要多长时间才能完成,我们不希望此Dag处于空闲状态,等待20分钟检查导出是否

情景:

我做了一个POST调用,该调用触发一个进程导出一个文件,该调用返回一个export-ID。该进程可能需要未知的时间才能完成,因此我必须定期使用export ID进行GET调用,以查看该进程是否完成,每次导出完成后,此GET调用都会返回一个状态和一个指向下载位置的URL

目标:

我想创建一个Dag来启动这个导出,然后等待20分钟并发送GET请求以查看URL是否存在,这意味着导出已经完成

问题:

由于我们不知道导出需要多长时间才能完成,我们不希望此Dag处于空闲状态,等待20分钟检查导出是否完成,从而占用资源。是否有办法暂停/停止此dag,释放此期间的资源

我想做的是: 创建具有2个任务的Dag: 任务1:启动出口 任务2:取消第二个dag的暂停,该dag检查并计划在我们要检查的时间间隔内运行 Dag已完成

子DAG 1任务: 任务1:获取导出ID,检查url是否可用,如果可用,启动下载,下载后暂停dag。如果url不可用,请完成dag并在间隔集中重新运行


这是一条好路线吗?如果是这样,为什么不呢?还有什么更好。我还没有发现任何API方面的东西可以让我使用python暂停和取消暂停dag,这是可能的吗?

设置您的流程,以便
提交导出>>使用导出
,如果导出尚未准备就绪,则
使用导出
失败--然后设置一个
重试
和适当的重试间隔,无论您想继续尝试多长时间


或者,如果您想知道导出已完成但消费者步骤失败,您可以执行
提交\u导出>>等待\u导出>>消费\u导出
,然后如果您看到
等待\u导出
失败,您将知道导出没有及时出现。

您尝试过什么吗?发布您的代码,以便我们可以帮助您。