Provides the runtime for executing jobs, together with the shared services they rely on.
Service location keeps a job independent of the facilities it uses: a job names a facility by its default
service rather than importing a concrete implementation, and a binding substitutes another one for
the duration of an execution, leaving unbound facilities to fall back on their own default; custom facilities
honouring the same contracts plug in interchangeably.
Important
Bound implementations are constructed as the execution opens, unbound defaults on first use; either way the
instance is shared across the job and, where it implements a disposal protocol, disposed as the job ends.
Concurrent or repeated runs share nothing.
Job executor and service locator.
Provides the runtime for executing jobs, together with the shared services they rely on.
Service location keeps a job independent of the facilities it uses: a job names a facility by its default service rather than importing a concrete implementation, and a binding substitutes another one for the duration of an execution, leaving unbound facilities to fall back on their own default; custom facilities honouring the same contracts plug in interchangeably.
Bound implementations are constructed as the execution opens, unbound defaults on first use; either way the instance is shared across the job and, where it implements a disposal protocol, disposed as the job ends. Concurrent or repeated runs share nothing.
Example