Hi All, I created FLINK-12214 <https://issues.apache.org/jira/browse/FLINK-12214> for adding JobListener (hook) in flink job lifecycle. Since this is a new public api for flink, so I'd like to discuss it more widely in community to get more feedback.
The background and motivation is that I am integrating flink into apache zeppelin <http://zeppelin.apache.org/>(which is a notebook in case you don't know). And I'd like to capture some job context (like jobId) in the lifecycle of flink job (submission, executed, cancelled) so that I can manipulate job in more fined grained control (e.g. I can capture the jobId when job is submitted, and then associate it with one paragraph, and when user click the cancel button, I can call the flink cancel api to cancel this job) I believe other projects which integrate flink would need similar mechanism. I plan to add api addJobListener in ExecutionEnvironment/StreamExecutionEnvironment so that user can add customized hook in flink job lifecycle. Here's draft interface JobListener. public interface JobListener { void onJobSubmitted(JobID jobId); void onJobExecuted(JobExecutionResult jobResult); void onJobCanceled(JobID jobId, String savepointPath); } Let me know your comment and concern, thanks. -- Best Regards Jeff Zhang