When DAGMan starts up, the ready queue is empty.  =Dag::Bootstrap()= calls =Dag::StartNode()= on all jobs with empty waiting queues.  =Dag::StartNode()= either runs the node's PRE script (if there is one) or puts the node into the ready queue.  If a job does have a PRE script, and the PRE script succeeds, =Dag::PreScriptReaper()= puts the job into the ready queue.  (If the PRE script fails, =Dag::PreScriptReaper()= marks the job as failed, except in special cases.)
 
-Once a job is in the ready queue, it will eventually get submitted by =Dag::SubmitReadyJobs()=, which is called from =condor_event_timer()= in _dagman_main.cpp_; =condor_event_timer()= is called by daemoncore (every 5 seconds by default).  Note that =Dag::SubmitReadyJobs()= will only submit a certain number of jobs each time it is called (that number is configurable).
+Once a job is in the ready queue, it will eventually get submitted by =Dag::SubmitReadyJobs()=, which is called from =condor_event_timer()= in _dagman_main.cpp_; =condor_event_timer()= is called by daemoncore (every 5 seconds by default).  Note that =Dag::SubmitReadyJobs()= will only submit a certain number of jobs each time it is called (that number is configurable).  If the attempt to submit the job fails, =Dag::SubmitReadyJobs()= calls =Dag::ProcessFailedSubmit()=, which puts the job back into the ready queue.