El día 25 de noviembre de 2013 22:59, Jose Caballero <jcaballero....@gmail.com> escribió: > Gracias a todos por las respuestas. > Y si fuese un caso general, y no solo lo de los ficheros? Alguna "best > practice" sobre como hacer un "loop" de espera hasta que algo ocurra? > O depende del caso concreto?
Para ficheros, se aprovechan los eventos del sistema de ficheros como sería inotify en linux (que se podría generalizar a otros sistemas usando la librería watchdog[1]). En general, suponiendo que el hecho que tiene que ocurrir produzca un "evento", se emplearía un patrón "observer"[2] ("listener") para propagar la notificación. Lo complicado ahora es encajarlo en una aplicación como sería tener un bucle de eventos y que un grupo de guardianes lancen eventos cuando detecten determinados cambios de estado. Lo que no se debería hacer, de ninguna forma, es tener varios bucles (hilos) esperando a que se produzca un mismo cambio de estado. Sólo un bucle y que lance eventos para notificar a sus subscriptores. Y sí, crear el bucle de espera depende de cada caso. El modelo más simple sería tener un hilo que despierta a intervalos regulares y que comprueba si ha habido un cambio de estado, en cuyo caso lanza un evento. Se puede complicar mucho más según qué necesidades de sincronización consideres. [1]: http://pythonhosted.org/watchdog/ [2]: http://es.wikipedia.org/wiki/Observer_(patrón_de_diseño) > > Un saludo, > Jose > > 2013/11/25 Jordi Funollet Pujol <funol...@fastmail.fm>: >> https://github.com/seb-m/pyinotify >> >> Suponiendo que lo que te interesa monitorizar son ficheros, y no un caso más >> general. >> -- >> Jordi Funollet Pujol >> http://www.linkedin.com/in/jordifunollet >> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es _______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/