group
¶
-
class
fabric.group.
Group
(*hosts, **kwargs)¶ 收藏
Connection
其API对其内容进行操作的对象。警告
这是一个部分抽象类 ;您需要使用它的一个具体子类(例如
SerialGroup
或ThreadingGroup
或者你会得到NotImplementedError
在大多数方法上。这个类中的大多数方法都与
Connection
,采用相同的参数;但是它们的返回值和引发异常的行为不同:- 返回值是类似dict的对象 (
GroupResult
映射Connection
对象到各个连接的返回值:Group.run
返回的映射Connection
到runners.Result
,Group.get
返回的映射Connection
到transfer.Result
等。 - 如果任何连接遇到异常,则
GroupException
是凸起的,它是一个很薄的包装,围绕着原本应该是GroupResult
归还;在包裹的里面GroupResult
,异常连接映射到引发的异常,而不是Result
(不)Result
已获取。)任何非例外连接都将具有Result
正常值。
例如,当没有异常发生时,会话可能如下所示:
>>> group = SerialGroup('host1', 'host2') >>> group.run("this is fine") { <Connection host='host1'>: <Result cmd='this is fine' exited=0>, <Connection host='host2'>: <Result cmd='this is fine' exited=0>, }
除了异常(从1到“所有异常”),它看起来是这样的;注意不同的异常类,例如
UnexpectedExit
对于命令退出不好的已完成会话,与socket.gaierror
对于存在DNS问题的主机:>>> group = SerialGroup('host1', 'host2', 'notahost') >>> group.run("will it blend?") { <Connection host='host1'>: <Result cmd='will it blend?' exited=0>, <Connection host='host2'>: <UnexpectedExit: cmd='...' exited=1>, <Connection host='notahost'>: gaierror(...), }
和一样
Connection
,Group
对象可以用作上下文管理器,它将自动close
块上的对象退出。2.0 新版功能.
在 2.4 版更改: 添加了上下文管理器行为。
-
__init__
(*hosts, **kwargs)¶ 从一个或多个速记主机字符串创建一组连接。
见
Connection
有关这些字符串格式的详细信息-它们将用作Connection
构造函数。给出的任何关键字参数都将直接转发给那些
Connection
施工人员也是。例如,要获取连接到admin@host1
,admin@host2
和admin@host3
,并转发您的ssh代理:group = SerialGroup( "host1", "host2", "host3", user="admin", forward_agent=True, )
在 2.3 版更改: 补充
**kwargs
(以前只是*hosts
)
-
__weakref__
¶ 对象的弱引用列表(如果已定义)
-
close
()¶ 执行
Connection.close
关于所有成员Connections
.2.4 新版功能.
-
classmethod
from_connections
(connections)¶ 接受替代构造函数
Connection
物体。2.0 新版功能.
-
get
(*args, **kwargs)¶ 执行
Connection.get
关于所有成员Connections
.返回: 一 GroupResult
.2.0 新版功能.
-
run
(*args, **kwargs)¶ 执行
Connection.run
关于所有成员Connections
.返回: 一 GroupResult
.2.0 新版功能.
- 返回值是类似dict的对象 (
-
class
fabric.group.
GroupResult
(*args, **kwargs)¶ 收集结果和/或因
Group
方法。就像听写一样,但增加了一些方便的方法,也就是说:
- 钥匙是个人的
Connection
中的对象Group
. - 值是被调用方法的返回值/结果(例如
runners.Result
对象) or 如果一个异常对象阻止了方法返回,则为异常对象。 - 子类
dict
,所有的dict方法也是如此。 - 有
succeeded
和failed
包含子dict的属性仅限于分别成功或遇到异常的键/值对。- 注意,这些属性允许高级逻辑,例如
if mygroup.run('command').failed
诸如此类。
- 注意,这些属性允许高级逻辑,例如
2.0 新版功能.
-
__init__
(*args, **kwargs)¶ 初始化自身。请参阅帮助(键入(self))以获得准确的签名。
-
__weakref__
¶ 对象的弱引用列表(如果已定义)
-
failed
¶ 只包含失败结果的子dict。
2.0 新版功能.
-
succeeded
¶ 仅包含成功结果的子dict。
2.0 新版功能.
- 钥匙是个人的
-
class
fabric.group.
SerialGroup
(*hosts, **kwargs)¶ 的子类
Group
它以简单、连续的方式执行。2.0 新版功能.
-
run
(*args, **kwargs)¶ 执行
Connection.run
关于所有成员Connections
.返回: 一 GroupResult
.2.0 新版功能.
-
-
class
fabric.group.
ThreadingGroup
(*hosts, **kwargs)¶ 的子类
Group
它使用线程来同时执行。2.0 新版功能.
-
run
(*args, **kwargs)¶ 执行
Connection.run
关于所有成员Connections
.返回: 一 GroupResult
.2.0 新版功能.
-