This was happening because I am having a heterogeneous cluster, which is having configuration as deployment aware.
So If I restart the node, all the in memory data has been gone.
So jobExecutor never fetch the job because of deployment_id persisted during the async call doesn’t match to the in memory data.
It is working fine in homogenous cluster setup or in case of deployment aware false.
For heterogeneous setup, I have to register all the deployments again while server startup.
For that I raised a question -