There is an issue in current pgagent code as explained below:
Issue:
In batch mode if user creates a job with multiple job steps then if first jobstep gets executed successfully then even if 2nd step is a failure, job will not halt at that point and will complete its execution. which is not the expected result.
Analysis:
The main reason for this issue is that in batch mode, when first step is executed successfully, flag succeeded will be set to true, but when the 2nd step gets failed, its not getting reset to false which is why job does not halt at the same instance and continues executing next steps.
I have resolved this issue and patch is attached with this mail for review.
Please do review the patch and let me know in case anything is missing.