polaris.run.serial.run_step_in_process
- polaris.run.serial.run_step_in_process(step, placement=None, quiet=False)[source]
Run one step in this process, with the logging the serial path gives it.
Shared by two callers that differ only in how they got hold of the step.
polaris serialin a step’s work directory unpickles it from disk; the concurrent scheduler’s forked child inherits the live object and calls this directly. Going through one function is what keeps their logs the same – a first attempt called the step’s ownrun_step()and produced byte-identical science output in a log missing its preamble and footer, which is a difference nobody would notice until they went looking for a step that had not run.- Parameters:
step (polaris.Step) – The step to run, already set up and sized
placement (mache.parallel.ResourcePlacement, optional) – The part of the allocation this step is confined to, or
Noneto run it on the whole of what is availablequiet (bool, optional) – Whether to leave the step’s name out of the output