[pyar] Ansible y Popen

Juan Carizza juan.carizza en gmail.com
Vie Oct 21 12:44:32 ART 2016


Buenas! Tengo un problema con un script que se mantiene corriendo con
supervisor, recibe un mensaje por AMQP y ejecuta un subprocess.call que a
su vez corre un playbook.

El código es mas o menos así:

def callback(mensaje):
    subprocess.call("ansible-playbook unplaybook.yml", shell=True)

if __name__ == "__main__":
    loopear(callback)

El problema es que cuando el script de Ansible tira un sys.exit(0) mi
proceso muere y supervisor lo muestra como EXITED.

- Probé haciendo un try catch de SystemExit no funcionó
- El API e Ansible no es muy entendible en la versión 2.0 y no encontré un
ejemplo claro. (Para ejecutar Ansible por código y no por un popen)

¿Cómo se que viene del script Ansible?
Decore la función callback  con un atexit.


¿De qué forma puedo evitar que el sys.exit de Ansible mate mi proceso?
¿Puedo probar abriendo un proceso aparte con multithreading?

¡Muchas gracias!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20161021/460297e7/attachment.html>


Más información sobre la lista de distribución pyar