gpt4 book ai didi

google-cloud-dataflow - 如何以编程方式取消运行时间过长的 Dataflow 作业?

转载 作者:可可西里 更新时间:2023-11-01 11:15:14 28 4
gpt4 key购买 nike

我正在通过 Python API 在 Dataflow 上使用 Apache Beam 从 Bigquery 读取数据,对其进行处理,然后将其转储到 Datastore 接收器中。

不幸的是,作业经常会无限期地挂起,我必须手动停止它。当数据写入 Datastore 和 Redis 时,从 Dataflow 图中我注意到只有几个条目卡住并导致作业挂起。

因此,当有 15 台 16 核机器的作业运行 9 小时(正常情况下,作业运行 30 分钟)时,会导致巨大的成本。

也许有一种方法可以设置一个计时器,如果超过时间限制,该计时器会停止 Dataflow 作业?

最佳答案

如果你能创建一个customer support ticket就太好了我们可以尝试与您一起调试它。

Maybe there is a way to set a timer that would stop a Dataflow job if it exceeds a time limit?

很遗憾,答案是否定的,Dataflow 没有在特定时间后自动取消作业的方法。但是,可以使用 API 来执行此操作。可以wait_until_finish () 超时然后 cancel() 管道。

你会这样做:

p = beam.Pipeline(options=pipeline_options)
p | ... # Define your pipeline code

pipeline_result = p.run() # doesn't do anything
pipeline_result.wait_until_finish(duration=TIME_DURATION_IN_MS)
pipeline_result.cancel() # If the pipeline has not finished, you can cancel it

关于google-cloud-dataflow - 如何以编程方式取消运行时间过长的 Dataflow 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51018488/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com