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 版本加入.