| | |
| | import copy |
| |
|
| | from ..utils import Registry |
| |
|
| | RUNNERS = Registry('runner') |
| | RUNNER_BUILDERS = Registry('runner builder') |
| |
|
| |
|
| | def build_runner_constructor(cfg): |
| | return RUNNER_BUILDERS.build(cfg) |
| |
|
| |
|
| | def build_runner(cfg, default_args=None): |
| | runner_cfg = copy.deepcopy(cfg) |
| | constructor_type = runner_cfg.pop('constructor', |
| | 'DefaultRunnerConstructor') |
| | runner_constructor = build_runner_constructor( |
| | dict( |
| | type=constructor_type, |
| | runner_cfg=runner_cfg, |
| | default_args=default_args)) |
| | runner = runner_constructor() |
| | return runner |
| |
|