Как изменить количество процессов ParallelRunner в Kedro?

Мой конвейер делает много HTTP-запросов. Это не очень нагружающая процессор операция, я бы хотел, чтобы количество процессов превышало количество ядер процессора. Как я могу это изменить?

1 ответ

ParallelRunner поддерживает max_workersпараметр, но в настоящее время нет возможности передать его из команды kedro run cli. Это сделано для упрощения интерфейса командной строки. Вы можете добавить параметр вручную или просто жестко запрограммировать значение при создании экземпляра ParallelRunner вkedro_cli.py. Часть бегуна может выглядеть так:

runner_class = load_obj(runner, "kedro.runner") if runner else SequentialRunner
runner_params = {'num_workers': 100} if runner is ParallelRunner else {}

context = load_context(Path.cwd(), env=env)
context.run(
    tags=tag,
    runner=runner_class(**runner_params),
    node_names=node_names,
    from_nodes=from_nodes,
    to_nodes=to_nodes,
    from_inputs=from_inputs,
    load_versions=load_version,
    pipeline_name=pipeline,
)
Другие вопросы по тегам