在Fabric2中检索环境主机ID

时间:2019-03-05 08:00:28

标签: python fabric

我正在尝试将我的代码从Fabric 1.x移植到Fabric2。

在旧版本的Fabric中,我使用env.host作为每台计算机的ID:
party_id = env.hosts.index(env.host)

如何在Fabric2中做到这一点?

===========更新=========

我正在使用以下代码段创建主机:

host_list = open('public_ips', 'r').read().splitlines()
        self.connections = []
        self.pool = Group()
        for host in host_list:
            self.pool.append(Connection(host, user='user', connect_kwargs={
                'key_filename': ['mykey.pem']
            }))

在运行时,我需要知道Connection对象中每个ThreadingPool对象的索引是什么。

1 个答案:

答案 0 :(得分:0)

import UIKit class CustomUIView: UIView { override func awakeFromNib() { self.layer.masksToBounds = cornerRadius > 0 } @IBInspectable var useDefaultRadius: Bool = true { didSet { self.layer.masksToBounds = cornerRadius > 0 } } @IBInspectable var cornerRadius: CGFloat { set { self.layer.cornerRadius = newValue } get { if (useDefaultRadius) { // Set default radius self.layer.cornerRadius = 23 } return self.layer.cornerRadius } } @IBInspectable var addShadow:Bool = true{ didSet(newValue) { if(newValue == true){ self.layer.masksToBounds = false self.layer.shadowColor = UIColor.black.cgColor self.layer.shadowOpacity = 0.5 self.layer.shadowOffset = CGSize(width: 2, height: 3) self.layer.shadowRadius = 3 self.layer.shadowPath = UIBezierPath(rect: bounds).cgPath self.layer.shouldRasterize = true self.layer.rasterizationScale = UIScreen.main.scale print("trying to use shadow") } } } } 在Fabric2上不起作用,当我用env.host发现Connection对象时,我遇到了完全相同的问题。使用Fabric2,您可以使用Fabric2对象访问主机。

这是示例代码

connection

这是有关Fabric2 Connection的信息的链接