当flink作业失败时,我们使用joblistener接口的实现来获取onJobSubmitted(作业提交)和onJobExecuted(失败,成功)的句柄。但是如果我的flink应用启用了重启策略,flink会自动重启特定的任务(失败)。我们如何在任务重启之前/之后获取句柄?我们需要一个自定义的逻辑在任务重启之前/之后运行。有什么方法可以实现吗?
xriantvc1#
所有所谓的富函数都有一个open()方法,在该方法中,操作员可以在作业开始处理输入之前执行任何他们想要的操作。如果您想区分冷启动与从检查点或保存点恢复,您可以使用实现CheckpointedFunction接口的运算符。该接口具有一个initializeState()方法,该方法被传递一个响应isRestored()的上下文对象法
open()
CheckpointedFunction
initializeState()
isRestored()
1条答案
按热度按时间xriantvc1#
所有所谓的富函数都有一个
open()
方法,在该方法中,操作员可以在作业开始处理输入之前执行任何他们想要的操作。如果您想区分冷启动与从检查点或保存点恢复,您可以使用实现CheckpointedFunction
接口的运算符。该接口具有一个initializeState()
方法,该方法被传递一个响应isRestored()
的上下文对象法