W tkaninie mam zadanie zbierające coś na podstawie hosta (mały przykład).Jak mogę pobrać dane wyjściowe zadania fabric i wydrukować podsumowanie dla wielu hostów?
from fabric.api import task, run, hide
env.hosts['h1', 'h2', 'h3']
@task
def info():
with hide('everything'):
info = run("who | tail -n 1")
print("On host {0} last user was {1}".format(env.host_string, info))
Run z
fab info
da coś takiego
[h1] Executing task 'info'
On host h1 last user was userXX pts/29 2015-07-29 15:57 (:0)
[h2] Executing task 'info'
On host h2 last user was userXX pts/29 2015-07-29 16:57 (:0)
[h3] Executing task 'info'
On host h3 last user was userXX pts/29 2015-07-29 17:57 (:0)
Chociaż jest to dobre dla 3 lub 5 zastępów, to staje się bardzo trudne do wyświetlenia przez 20 lub więcej hostów (lub bardziej skomplikowane wyniki). Co chcę zrobić, to zgromadzić wszystkie dane wyjściowe dla każdego hosta i użyć go do utworzenia podsumowania/przeglądu na końcu, po wykonaniu zadania na każdym hoście.
Jak to zrobić?