group

class fabric.group.Group(*hosts, **kwargs)

收藏 Connection 其API对其内容进行操作的对象。

警告

这是一个部分抽象类 ;您需要使用它的一个具体子类(例如 SerialGroupThreadingGroup 或者你会得到 NotImplementedError 在大多数方法上。

这个类中的大多数方法都与 Connection ,采用相同的参数;但是它们的返回值和引发异常的行为不同:

例如,当没有异常发生时,会话可能如下所示:

>>> 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(...),
}

和一样 ConnectionGroup 对象可以用作上下文管理器,它将自动 close 块上的对象退出。

2.0 新版功能.

在 2.4 版更改: 添加了上下文管理器行为。

__init__(*hosts, **kwargs)

从一个或多个速记主机字符串创建一组连接。

Connection 有关这些字符串格式的详细信息-它们将用作 Connection 构造函数。

给出的任何关键字参数都将直接转发给那些 Connection 施工人员也是。例如,要获取连接到 admin@host1admin@host2admin@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 新版功能.

class fabric.group.GroupResult(*args, **kwargs)

收集结果和/或因 Group 方法。

就像听写一样,但增加了一些方便的方法,也就是说:

  • 钥匙是个人的 Connection 中的对象 Group .
  • 值是被调用方法的返回值/结果(例如 runners.Result 对象) or 如果一个异常对象阻止了方法返回,则为异常对象。
  • 子类 dict ,所有的dict方法也是如此。
  • succeededfailed 包含子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 新版功能.