TaskContainer¶
- class deepfos.lib.subtask.TaskContainer(args, task_name_tmpl='Task - {counter:03}', swallow_exc=True)¶
创建子任务容器
将提供的执行参数包装为当前脚本的子任务,在循环的不同时刻更新状态
- 参数
注解
在循环开始前,基于此迭代方法创建并初始化所有子任务,状态为“等待”
在每次循环开始时,更新当前子任务状态为“运行中”
结束时,视结果及是否忽略异常(swallow_exc)更新状态为“成功”或“失败”
示例
例如原先有如下代码结构:
for arg in range(10): do_something(arg)
如果希望每次循环能作为子任务在作业管理中查看, 可以对代码作如下修改:
for task in TaskContainer(range(10)): with task.get_arg() as arg: do_something(arg)
参见
- Exclude-members
创建子任务容器
将提供的执行参数包装为当前脚本的子任务,在循环的不同时刻更新状态
- Args:
args: 执行参数 task_name_tmpl: 任务名模板,支持替换的字段为counter(自增任务编号)
和arg(任务使用的参数),默认以 Task-{counter:03} 格式产生
swallow_exc: 在任务出现异常时是否忽略(不中断程序执行)
- Note:
在循环开始前,基于此迭代方法创建并初始化所有子任务,状态为“等待”
在每次循环开始时,更新当前子任务状态为“运行中”
结束时,视结果及是否忽略异常(swallow_exc)更新状态为“成功”或“失败”
示例
例如原先有如下代码结构:
for arg in range(10): do_something(arg)如果希望每次循环能作为子任务在作业管理中查看, 可以对代码作如下修改:
for task in TaskContainer(range(10)): with task.get_arg() as arg: do_something(arg)
- See Also: