Получите текущее значение списка env.hosts с Библиотекой Матрицы Python

У меня есть этот код (foo и bar локальные серверы):

env.hosts = ['foo', 'bar']

def mytask():
    print(env.hosts[0])

Который, конечно, нечто печати каждое повторение.

Как Вы, вероятно, знаете, Матрица выполняет итерации через список env.hosts и выполняет mytask () на каждом из них этот путь:

fab mytask

делает

task выполняется на foo
task выполняется на bar

Я ищу способ получить текущий хост в каждом повторении.

Спасибо,

25
задан 26 July 2010 в 13:09
поделиться

3 ответа

Используйте env.host_string . Вы можете найти полный список переменных env здесь .

40
ответ дан 28 November 2019 в 18:08
поделиться

Вы можете просто сделать:

env.hosts = ['foo', 'bar']

def mytask():
     print(env.host)

Потому что, когда вы находитесь в задаче, выполняемой fab, вы получите эту переменную бесплатно.

27
ответ дан 28 November 2019 в 18:08
поделиться

Спасибо, Марсело.

Если вы действительно хотите использовать env.host_string (например, для конкатенации), убедитесь, что находитесь внутри задачи. Его значение Нет снаружи.

3
ответ дан 28 November 2019 в 18:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: