Fabric: Fabric 2 — выполнение задачи в группе (с аргументами)

Созданный на 8 дек. 2017  ·  5Комментарии  ·  Источник: fabric/fabric

У меня есть задача с аргументами. Я хотел бы запустить эту задачу на группе хостов с другим аргументом задачи в зависимости от хоста из другого скрипта Python.

Комментарий внутри execute говорит о том, чтобы реализовать его в соответствии с руководством. Можно ли получить ссылку на этот урок? И если я заставлю его работать/заставлю его работать с передаваемыми аргументами, будет ли это долгожданным запросом на извлечение?

Feature Group

Самый полезный комментарий

Эта функция крайне необходима для Fabric2. Есть идеи, когда он будет объединен?

Все 5 Комментарий

Я думаю, что это ближе всего к учебнику по Fabric 2: http://docs.fabfile.org/en/stable/getting_started.html.

Я хотел бы запустить эту задачу на группе хостов с другим аргументом задачи в зависимости от хоста из другого скрипта Python.

Не зная вашего точного варианта использования и отмечая, что Group еще не очень хорошо конкретизирована (основное внимание уделялось приведению Connection в хорошую форму), я укажу, что _до сих пор_ Group была задумана как API-интерфейс для удобства/оболочки только - это обычный случай: «Я даю вам список имен хостов и то, что нужно сделать, и вы делаете это для меня, и мне не нужно писать свой собственный цикл».

Для чего-то более сложного идея заключается в том, что все равно должно быть довольно легко сделать это самостоятельно, используя соединения, созданные вручную, в любой конструкции Python, соответствующей вашему варианту использования (итерации и т. д.). Таким образом, в этом случае у вас будет «мета» задача, выполняющая что-то вроде for hostname, kwargs in my_map_of_hostnames_to_kwargs.items(): othertask(Connection(hostname), **kwargs) .

(Это по-прежнему оставляет pyinvoke/invoke # 170 или, что менее вероятно, # 4, но на данный момент оба они обходимы.)

Если вы предоставите подробную информацию о варианте использования, возможно, один из нас сможет уточнить.


Re: учебник: да, страница «Начало работы» — это учебник, конкретный бит, который притворяется, что знает о Group.execute, — http://docs.fabfile.org/en/v2/getting_started.html#bringing -it-all -вместе - но, как и выше, поведение еще не очень продумано!

Большое спасибо за этот учебник v2. Я нашел его источник на GitHub, но не стал его читать.

cxn = Connection(host) — ключевой бит, который мне не хватало; части учебника, которые я нашел, не упоминали, что такое cxn, и я не копался достаточно, чтобы понять, что это просто соединение.

Я уже написал код, который мне был нужен, когда я опубликовал это, используя порт Fabric3, но с намерением перейти на v2, как только он появится на PyPi. Спасибо за ваше время, ребята!

Изменить: это может помочь будущим потенциальным пользователям, если вы добавите ссылку на этот учебник v2 в README здесь. Я бы запросил это, но это кажется слишком большим для изменения одной строки: p

Может не host будет автоматически загружены из fabric.json конфигурационного файла вместо передачи его в -D аргумента в командной строке?

Эта функция крайне необходима для Fabric2. Есть идеи, когда он будет объединен?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

acdha picture acdha  ·  4Комментарии

bitprophet picture bitprophet  ·  4Комментарии

Grazfather picture Grazfather  ·  4Комментарии

neemxyang picture neemxyang  ·  6Комментарии

omzev picture omzev  ·  6Комментарии