heat.engine.scheduler module

class heat.engine.scheduler.DependencyTaskGroup(dependencies, task=<function DependencyTaskGroup.<lambda>>, reverse=False, name=None, error_wait_time=None, aggregate_exceptions=False)[source]

基类: object

具有排序依赖关系的分任务组的管理任务。

cancel_all(grace_period=None)[source]
exception heat.engine.scheduler.ExceptionGroup(exceptions=None)[source]

基础: Exception

多个异常的容器。

当 aggregate_exceptions 标志设置为 True 且再次引发时,此异常由 DependencyTaskGroup 使用。 这样可以在稍后捕获它,以便可以对各个异常采取行动。

class heat.engine.scheduler.TaskRunner(task, *args, **kwargs)[source]

基类: object

可恢复任务(协程)的包装器。

as_task(timeout=None, progress_callback=None)[source]

返回驱动 TaskRunner 的任务。

cancel(grace_period=None)[source]

取消任务并将其标记为完成。

done()[source]

如果任务已完成,则返回 True。

run_to_completion(wait_time=1, progress_callback=None)[source]

运行任务直到完成。

任务将在每个步骤之间休眠 wait_time 秒。 要避免休眠,请将 None 传递给 wait_time

start(timeout=None)[source]

初始化任务并运行其第一步。

如果指定了超时,则在经过该秒数后尝试执行任务的任何步骤都将导致任务内部引发超时。

started()[source]

如果任务已启动,则返回 True。

step()[source]

运行任务的另一个步骤。

如果任务已完成,则返回 True;否则返回 False。

exception heat.engine.scheduler.TimedCancel(task_runner, timeout)[source]

基类: Timeout

trigger(generator)[source]

在给定的生成器上触发超时。

exception heat.engine.scheduler.Timeout(task_runner, timeout)[source]

基础: BaseException

当任务超过其分配的(时钟)运行时间时引发。

这允许任务执行任何必要的清理,并使用不同的异常来通知控制任务(如果适用)。 如果任务完全抑制异常,则将取消任务,但控制任务不会收到超时通知。

earlier_than(other)[source]
expired()[source]
trigger(generator)[source]

在给定的生成器上触发超时。

heat.engine.scheduler.task_description(task)[source]

返回任务的人类可读字符串描述。

该描述用于在记录其状态时标识任务。