what happen if we fail to acquire lock and just return?  if the job will be retry again, there is no reason for this why (true) loop.