job execution should be transactional