可以尝试以下两种方法:
1、达到停止条件时,通过一定方式通知外界工具,外界工具来帮忙停止作业。
2、现在RichFunction里可以拿到jobId,但是拿不到applicationId,可以看看能否修改代码获取它,比如通过环境变量。然后再调用restful
接口停止作业。

lei-tian <[email protected]> 于2021年10月11日周一 上午9:11写道:

> 因为要在代码里面判断是否停止的条件,停止的时候还是要在代码里面停止吧。
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> 在 2021-10-11 09:06:17,"995626544" <[email protected]> 写道:
> >hi:
> >这个借助外部脚本应该比较容易实现吧。stop后再启动。
> >
> >
> >
> >---原始邮件---
> >发件人: "lei-tian"<[email protected]&gt;
> >发送时间: 2021年10月11日(周一) 上午9:02
> >收件人: "user-zh"<[email protected]&gt;;
> >主题: Flink的api停止方式
> >
> >
> >您好:
> >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> 我这边现在有个flink读hbase的程序需要每天在固定的时间段内调用接口,然后如果在指定时间以外或者处理的数据量达到一个阈值的时候停止,在第二天的重复第一天的操作。现在有个问题,就是如何在代码里面可以像UI界面那样将jobcancel掉,而且第二天可以接着第一天的处理进度接着处理剩下的数据。有个savepoint的方案,需要jobid和applicationid但是目前好像在代码里面获取不到,有人有解决思路吗?
>

回复