Note: not yet complete! +There are a number of important data structures relating to job ordering: +*: =Dag::_jobs=: a list of all Job objects (nodes) in the DAG. +*: =Dag::_readyQ=: a queue of all jobs that are ready to be submitted (all of their parent nodes have finished, and their PRE scripts, if any, have also finished). +*: =Job::_queues[Q_WAITING]=: a list of Job objects (nodes) that this Job is waiting on (Jobs are removed from this queue as they finish). + + + + + =condor_event_timer()= in _dagman_main.cpp_ gets called every five (by default) seconds. In that function, we call =Dag::SubmitReadyJobs()= to submit any jobs that are ready; ready any new node job events (see ???); output the status of the DAG; and check whether the DAG is finished. *: Submission/event reading loop -- every 5 sec (default) via daemoncore