在 python 中取消暂停和暂停 dag
Unpausing and Pausing a dag in python
场景:
我进行了一个 POST 调用来触发导出文件的进程,此调用 returns 一个 Export-ID。这个过程可能需要未知的时间才能完成,所以我必须定期使用 Export-ID 进行 GET 调用以查看该过程是否完成,这个 GET 调用 returns 一个 STATUS 和一个 URL 导出完成后到下载位置。
目标:
我想创建一个启动此导出的 Dag,然后等待 20 分钟并发送 GET 请求以查看 URL 是否存在,这意味着导出已完成。
问题:
由于我们不知道完成导出需要多长时间,我们不希望这个 Dag 卡在空闲状态等待 20 分钟来检查导出是否完成,占用资源。有没有办法pause/stop这个dag,释放这段时间的资源
我想做什么:
创建具有 2 个任务的 Dag:
任务 1:启动导出
任务 2:取消暂停第二个 dag,该 dag 检查并计划在我们要检查的时间间隔内 运行
Dag 完成
Subdag 1 任务:
任务 1:获取导出 ID,检查 url 是否可用,如果可用则开始下载然后在下载后暂停 dag。如果 url 不可用,完成 dag 并在间隔集中重新 运行 。
这条路好走吗?如果是这样,为什么不呢,什么更好。我没有发现任何 API 明智的方法可以让我使用 python 暂停和取消暂停 dag,这可能吗?
设置您的流程,使 submit_export >> consume_export
并且如果导出尚未准备就绪 consume_export
失败 - 然后放置 retries
和合适的重试间隔,无论您想要多长时间继续努力。
或者,如果您想知道导出已完成但消费者步骤失败,您可以执行 submit_export >> wait_export >> consume_export
,然后如果您看到 wait_export
失败,您就会知道导出没有及时出现。
场景:
我进行了一个 POST 调用来触发导出文件的进程,此调用 returns 一个 Export-ID。这个过程可能需要未知的时间才能完成,所以我必须定期使用 Export-ID 进行 GET 调用以查看该过程是否完成,这个 GET 调用 returns 一个 STATUS 和一个 URL 导出完成后到下载位置。
目标:
我想创建一个启动此导出的 Dag,然后等待 20 分钟并发送 GET 请求以查看 URL 是否存在,这意味着导出已完成。
问题:
由于我们不知道完成导出需要多长时间,我们不希望这个 Dag 卡在空闲状态等待 20 分钟来检查导出是否完成,占用资源。有没有办法pause/stop这个dag,释放这段时间的资源
我想做什么: 创建具有 2 个任务的 Dag: 任务 1:启动导出 任务 2:取消暂停第二个 dag,该 dag 检查并计划在我们要检查的时间间隔内 运行 Dag 完成
Subdag 1 任务: 任务 1:获取导出 ID,检查 url 是否可用,如果可用则开始下载然后在下载后暂停 dag。如果 url 不可用,完成 dag 并在间隔集中重新 运行 。
这条路好走吗?如果是这样,为什么不呢,什么更好。我没有发现任何 API 明智的方法可以让我使用 python 暂停和取消暂停 dag,这可能吗?
设置您的流程,使 submit_export >> consume_export
并且如果导出尚未准备就绪 consume_export
失败 - 然后放置 retries
和合适的重试间隔,无论您想要多长时间继续努力。
或者,如果您想知道导出已完成但消费者步骤失败,您可以执行 submit_export >> wait_export >> consume_export
,然后如果您看到 wait_export
失败,您就会知道导出没有及时出现。