Dependencies can be specified between jobs that are constituent to a unit
of work, which are automatically determined or identified by processing a
work request that defines the work. For example, a second job can be
specified as depending on a first job meeting a particular condition.
Furthermore, sub-works of the second job are not scheduled for execution
until the first job has met the condition, thus allowing the second job
to be placed into an active state. First, a work request is received,
which specifies a first job that includes a first set of sub-works and a
second job that includes a second set of sub-works. The work request is
interpreted and processed to determine that the second job has the
dependency on the first job. The first job is placed into an active state
to enable the first sub-works to be scheduled for execution. The second
job is placed in a pending state and it is determined whether the first
job has met the condition. If it has, the second job is placed into an
active state and the second sub-works are scheduled for execution. In an
embodiment, the first job is caused to be executed without initiation by
the second job, that is, its dependent job.