Each time your job tries to run on a host and the pre-execution script fails to run successfully, your job pends until it is dispatched again.
The history of the job displays, including any pending and dispatching on hosts due to pre-execution scripts exiting with an incorrect exit code.