面料没有拿起env.hosts改变

时间:2015-06-25 21:34:50

标签: python automation fabric

我正在尝试按任务更改主机。这是我的代码:

@task
def process():
  execute(get_file)
  execute(transfer_file)

@task
def get_file():
  env.hosts = [hexi_host]

这实际上是唯一相关的代码。基本上,我没有在get_file任务之外的任何地方定义env.hosts。当我运行脚本时,我得到:

  

找不到主机。请指定(单个)主机字符串以进行连接:

即使我在get_file中定义它。如果我在进程之前定义它,它将起作用,但后来我永远不能更改为其他主机。希望这是有道理的,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您必须在调用execute()函数之前设置主机。

_

另请参阅:http://docs.fabfile.org/en/1.10/api/core/decorators.html