nornir 的多线程运行器插件,打印一个可爱的进度条。
项目描述
nornir_progressbar
nornir_progressbar 是一个运行器插件,用于将您的任务执行变成漂亮的 tqdm 进度条。它可以与 Nornir 的两个标准 Runners 一起使用:
- SerialRunner
- ThreadedRunner
安装
使用 pip 从 PyPi安装包。
pip install nornir-progressbar
用法
在使用之前,请务必在您的 Nornir 脚本中注册 RunnerPlugin。
要使用多线程执行,请注册类 ThreadedProgressBarRunner:
from nornir_progressbar.plugins.runners import ThreadedProgressBarRunner
from nornir.core.plugins.runners import RunnersPluginRegister
from nornir import InitNornir
RunnersPluginRegister.register("ProgressBar", ThreadedProgressBarRunner)
nr = InitNornir(config_file='sample_config.yaml')
对于串行执行,请改用 SerialProgressBarRunner:
from nornir_progressbar.plugins.runners import SerialProgressBarRunner
from nornir.core.plugins.runners import RunnersPluginRegister
from nornir import InitNornir
RunnersPluginRegister.register("ProgressBar", SerialProgressBarRunner)
nr = InitNornir(config_file='sample_config.yaml')
你的 nornir 配置文件应该指向新的 runner 插件:
---
inventory:
plugin: SimpleInventory
options:
host_file: "inventory/hosts.yaml"
group_file: "inventory/groups.yaml"
defaults_file: "inventory/defaults.yaml"
runner:
plugin: ProgressBar
options:
num_workers: 10
就是这样!每当您执行 nornir 任务时,清单中的每个主机都会出现一个进度条,并随着每个完成执行的主机递增。正在运行的任务的名称用作进度条的描述。
配置
该插件使用 tqdm 来渲染进度条。通过在插件选项下设置关键字参数,可以直接将它们传递给 tqdm() 调用。添加“desc”参数将为进度条提供自定义描述。有关 支持的所有关键字参数,请参阅 tqdm 的文档。
---
inventory:
plugin: SimpleInventory
options:
host_file: "inventory/hosts.yaml"
group_file: "inventory/groups.yaml"
defaults_file: "inventory/defaults.yaml"
runner:
plugin: ProgressBar
options:
num_workers: 10
描述:托托塔塔
离开:假
上面的配置产生一个带有描述“Toto tata”的进度条,每次任务完成执行时都会被替换。
使用该ascii选项获取 ASCII 进度条。
---
inventory:
plugin: SimpleInventory
options:
host_file: "inventory/hosts.yaml"
group_file: "inventory/groups.yaml"
defaults_file: "inventory/defaults.yaml"
runner:
plugin: ProgressBar
options:
num_workers: 10
ASCII :真
项目详情
关
nornir_progressbar -0.1.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 2b4466db86bd4d249edc71835526351558f823a617489e210ea9383242f405ad |
|
| MD5 | f4c07d1c6807f95498c12f8576cb781f |
|
| 布莱克2-256 | 0e432726870573def579136bd1ba05e82894e10b1202b06b8f1715f1529db221 |