У меня есть этот код (foo
и bar
локальные серверы):
env.hosts = ['foo', 'bar']
def mytask():
print(env.hosts[0])
Который, конечно, нечто печати каждое повторение.
Как Вы, вероятно, знаете, Матрица выполняет итерации через список env.hosts и выполняет mytask () на каждом из них этот путь:
fab mytask
делает
task
выполняется на foo
task
выполняется на bar
Я ищу способ получить текущий хост в каждом повторении.
Спасибо,
Используйте env.host_string
. Вы можете найти полный список переменных env
здесь .
Вы можете просто сделать:
env.hosts = ['foo', 'bar']
def mytask():
print(env.host)
Потому что, когда вы находитесь в задаче, выполняемой fab, вы получите эту переменную бесплатно.
Спасибо, Марсело.
Если вы действительно хотите использовать env.host_string
(например, для конкатенации), убедитесь, что находитесь внутри задачи. Его значение Нет
снаружи.