Hi Jeff,

Thanks for the response. However I'm using executeAsync so that I can run
the job asynchronously and get a JobClient to monitor the job. JobListener
only works for synchronous execute method. Is there other way to achieve
this?

Jeff Zhang <zjf...@gmail.com> 于2020年5月8日周五 下午3:29写道:

> I use JobListener#onJobExecuted to be notified that the flink job is done.
> It is pretty reliable for me, the only exception is the client process is
> down.
>
> BTW, the reason you see ApplicationNotFound exception is that yarn app is
> terminated which means the flink cluster is shutdown. While for standalone
> mode, the flink cluster is always up.
>
>
> Caizhi Weng <tsreape...@gmail.com> 于2020年5月8日周五 下午2:47写道:
>
>> Hi dear Flink community,
>>
>> I would like to determine whether a job has finished (no matter
>> successfully or exceptionally) in my code.
>>
>> I used to think that JobClient#getJobStatus is a good idea, but I found
>> that it behaves quite differently under different executing environments.
>> For example, under a standalone session cluster it will return the FINISHED
>> status for a finished job, while under a yarn per job cluster it will throw
>> a ApplicationNotFound exception. I'm afraid that there might be other
>> behaviors for other environments.
>>
>> So what's the best practice to determine whether a job has finished or
>> not? Note that I'm not waiting for the job to finish. If the job hasn't
>> finished I would like to know it and do something else.
>>
>
>
> --
> Best Regards
>
> Jeff Zhang
>

Reply via email to