The job logic is executed in several steps that you can use to your advantage when handling errors or implementing more complex logic.
Assuming automatic serialization, the steps are executed sequentially, the next step in sequence is executed only if the previous step has finished successfully: