Success/failure handlers passed in to the worker.
Job failure implementation.
Calling appropriate callback depending on whether process succeeds or fails.
Refactor
Error message from shell script is included in the failure notification email.
Refactor by parameterising features.
Deleted commented out code.
Handling exception when running shell script.
Refactor.