Contains a framework for parallel jobs.
Bases: object
Template for bosses. A Boss is an object supposed to order a job to a series of workers.
Huh... keep calm guys, the validity of this definition is only assumed in this very context !
Optionally can be attributed to the Boss a name and a verbose*ity (to report publically, in log, the workers reports). Also, a *scheduler can be assigned, to rule the ordering of jobs to workers.
Ends the listening process once instructions are treated. MUST BE CALLED (or wait_till_finished) for each Boss to avoid zombies processes.
Get report of the work executed. If block, block the calling tree until a report is received.
Order the workers to work. If terminate, no other instructions could be appended later. If stop_listening, alive workers go on their jobs, but they are not listened to anymore; this is a bit tricky but might be used ?
Set instructions to be distributed to workers.
Block the calling tree until all instructions have been executed.
Bases: footprints.FootprintBase
Template for workers. A Worker is an object supposed to do a job, according to instructions. The instructions has to be added to footprint attributes in actual classes.
Huh... keep calm guys, the validity of this definition is only assumed in this very context ! Don’t lynch me...
Footprint:
dict(
attr = dict(),
bind = [],
info = 'Not documented',
only = dict(),
priority = dict(
level = footprints.priorities.PriorityLevel('DEFAULT'),
),
)