Sto scrivendo uno script per avviare un esperimento di generazione del carico su diversi host. Potrei scrivere uno script bash per avviare più sessioni ssh, ma speravo di usare qualcosa di più strutturato. Dal momento che utilizzo Python per la maggior parte dei miei script, ho pensato che Fabric sembrasse una buona opzione.Passaggio di argomenti diversi a diversi host in Fabric
L'unico problema è che ho bisogno di passare una piccola quantità di dati specifici dell'host con ciascun comando (in realtà solo un id o contatore), e mi piacerebbe eseguirli in parallelo.
In altre parole, vorrei fare qualcosa di simile al seguente, dove host_num è diverso (eventualmente appena incrementato) per ogni host.
@parallel
def launch():
with cd('/working/dir'):
run("./start/script -id=%d", host_num)
E 'possibile in Tessuto? Se no, c'è un altro strumento che potrei usare per realizzare la stessa cosa?
Grazie. Peccato che non ci sia un meccanismo migliore: questo metodo non sembra funzionare troppo bene se vuoi eseguire lo stesso script su diversi set di host. – bsowell
Continuerà a funzionare in parallelo? Ho la stessa sfida, ma ho 20 host, che vengono avviati in fase di esecuzione (istanze AWS EC2). Quindi, non penso che codificare duramente le dichiarazioni "if-then" prima del tempo funzionerebbero. –