0

我正在使用 Glue v3.0 (Python 3.7)。

目标是优雅地停止 Glue PySpark 作业,以便它可以正确终止并在结束之前清理其自定义资源。

我尝试使用带有处理程序的经典 signal.signal() 方法来捕获停止/中止/终止信号。

但是,它似乎不适用于python 信号文档中指定的信号(处理程序永远不会被调用)。

知道如何使用信号方法优雅地停止工作吗?

4

1 回答 1

2

你可以打电话sys.exit(any_status_code)。只需确保在 job.commit() 之前调用了 sys.exit,否则作业将失败。

只是出于好奇,您为什么要自己终止工作?在你打电话后job.commit(),工作应该结束。


编辑:

调用它应该有效:

job.commit()
os._exit()
于 2021-09-15T12:31:55.257 回答