Hi Barak, I think the answer to your question is lies in the javadoc:
/** * Callback on job execution finished, successfully or unsuccessfully. It is only called back * when you call {@code execute()} instead of {@code executeAsync()} methods of execution * environments. * * <p>Exactly one of the passed parameters is null, respectively for failure or success. */ void onJobExecuted( @Nullable JobExecutionResult jobExecutionResult, @Nullable Throwable throwable); So this callback will be invoked even on failure and cancellation. On Thu, Jun 3, 2021 at 2:38 PM Barak Ben Nathan <barak.bennat...@earnix.com> wrote: > Hi all, > > > > I am using Flink 1.12.1 > > > > I’m building a system that creates/cancels Flink Jobs and monitors them. > > > > We thought to use org.apache.flink.core.execution.JobListener as a ‘push’ > mechanism for job-status-change events. > > > > We based this idea on the documentation that stated that JobListener ‘…is > notified on specific job status changed’ > > > > However, from the JobListener’s methods ‘onJobSubmitted’, > ‘onJobExecuted’, and their documentation, I understand that JobListener is > not notified on **all** events. > > E.g. : > > Job failure (after it running for some time) or Job cancellation, will not > cause JobListener to be notified. > > > > Am I correct? > > > > Barak > > >