Warning
THIS MODULE DOES NOT HAVE STABLE PUBLIC API
Bases: plainbox.impl.depmgr.DependencyError
Exception raised when a cyclic dependency is detected
same as affected_job
Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
Bases: plainbox.impl.depmgr.DependencyError
Exception raised when two jobs have identical id
Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
Bases: builtins.Exception
Exception raised when a dependency error is detected
JobDefinition instance that is affecting affected_job
This may be None in certain cases (eg, when the job does not exist and is merely referred to by id). If this job exists removing it SHOULD fix this problem from occurring.
This may be the same as affected_job
Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
Bases: plainbox.impl.depmgr.DependencyError
Exception raised when a job has an unsatisfied dependency
the job that is affecting affected_job
This is always None as we have not seen this job at all and that’s what’s causing the problem in the first place.
Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
Bases: builtins.object
Dependency solver for Jobs
Uses a simple depth-first search to discover the sequence of jobs that can run. Use the resolve_dependencies() class method to get the solution.
Solve the dependency graph expressed as a list of job definitions.
Parameters: |
|
---|
The visit_list, if specified, allows to consider only a part of the graph while still having access and knowledge of all jobs.
Returns list: | the solution (a list of jobs to execute in order) |
---|---|
Raises: |
|