Puede una tarea de Python Fabric invocar otras tareas y respetar sus listas de hosts?
Tengo un fabfile como el siguiente:
@hosts('host1')
def host1_deploy():
"""Some logic that is specific to deploying to host1"""
@hosts('host2')
def host2_deploy():
"""Some logic that is specific to deploying to host2"""
def deploy():
""""Deploy to both hosts, each using its own logic"""
host1_deploy()
host2_deploy()
Me gustaría hace
fab deploy
y que sea equivalente a
fab host1_deploy host2_deploy
En otras palabras, ejecute cada una de las subtareas y para cada una utilice la lista de hosts que especifica. Sin embargo, esto no funciona. En cambio, la tarea deploy () quiere su propia lista de hosts que propondrá a todas sus subtareas.
¿Hay alguna forma de actualizar la tarea deploy () aquí para que haga lo que quiero mientras deja las subtareas solas para que puedan ejecutarse individualmente?