executor¶
- class invoke.executor.Executor(collection: Collection, config: Config | None = None, core: ParseResult | None = None)¶
任务对象的执行策略。
子类可以重写各种扩展点来更改、添加或删除行为。
在 1.0 版本加入.
- __init__(collection: Collection, config: Config | None = None, core: ParseResult | None = None) None¶
使用必要数据结构的句柄初始化Executor。
- 参数:
collection -- A
Collection用于在执行期间按名称查找请求的任务(及其默认配置数据,如果有)。core -- 可选的
ParseResult保存已解析的核心程序参数。默认为None。
- __weakref__¶
对象的弱引用列表
- execute(*tasks: str | Tuple[str, Dict[str, Any]] | ParserContext) Dict[Task, Result]¶
执行一个或多个
tasks按顺序。- 参数:
tasks -- “要执行的任务”的通用迭代,其每个成员可以采用以下形式之一: A string 从执行器的命名任务
Collection。此名称可以包含适用于调用命名空间任务的点分语法,例如subcollection.taskname。这样的任务在没有参数的情况下执行。 A two-tuple 其第一个元素是任务名称字符串(如上所述),第二个元素是适合用作**kwargs在调用命名任务时。例如:: [ ('task1', {}), ('task2', {'arg1': 'val1'}), ... ] 大致等同于::task1()task2(arg1=‘val1’) A `.ParserContext` 实例,其.name属性用作任务名称,并且其.as_kwargs属性被用作任务kwargs(同样遵循上面的规范)。。。注意::在完全不带任何参数的情况下调用时(即*tasks为空),默认任务来自self.collection如果已定义,则改用。- 返回:
将任务对象映射到其返回值的DICT。如果执行了任何任务,则此判决可能包括前任务和后任务。例如,在具有
build任务依赖于另一个名为setup,执行build将产生一个带有两个键的Dict,一个用于build一次是为了setup。
在 1.0 版本加入.