在代码中定义可重复过程的工具
runbook的Python项目详细描述
runbook.py(v0.1)
pip3 install runbook
灵感来自this blog post 丹·斯莱蒙。
在从Runbook
扩展的类中定义自己的运行手册。每一种方法
不是以下划线开头,而是作为要完成的步骤按顺序读入。
步骤名将根据方法名生成,并采用描述
从方法自己的文档字符串或从调用返回的任何数据
方法。
fromrunbookimportRunbookclassCustomRunbook(Runbook):deffirst_step(self):""" Do ABC now. """defsecond_step():""" Do EFG then wait 1 hour. """defthird_step():task="reboot"returnf"perform a {task}"@staticmethoddeflast_step():"""Everything ok?"""
每个Runbook
对象都有一个默认的main方法,您可以使用它来执行脚本。
if__name__=='__main__':CustomRunbook.main()
Runbook对象也可以被实例化并直接运行。
book=CustomRunbook(file_path="path/to/file")book.run()
您应该避免使用已经定义的步骤名run
和main
。如果你需要覆盖这些
方法来定义自定义行为,然后就可以了。
完成步骤后,结果将写入日志文件。您可以通过传递 main的参数,如:
python3 my_runbook.py output.log
重用同一日志文件时,将跳过已完成的步骤。在Runbook
中找到的任何新步骤
日志中没有的将被正常处理,结果将附加到文件末尾。