向管道发出正常关闭信号

Signaling graceful shutdown to the pipeline

我目前正在使用 Beam 2.3.0。我花了两天时间研究如何使用 DirectRunner 优雅地关闭管道。 将 blockOnRun 设置为 false 并调用 cancel 只会终止管道并且可能会丢失数据。我想知道是否可以像数据流运行器那样在杀死管道之前先排空管道。

Beam 模型级别尚不存在此功能。唯一实现类似功能的运行程序是 Dataflow 的 Drain 功能。有一个 proposal 正在讨论如何使它成为一个通用的 Beam API。