Tengo un problema al construir la función gevent tail. En general, el código funciona cuando comento gevent.sleep en loop, pero la utilización de la CPU es 100%. Cuando salgo del programa gevent.sleep funciona pero no pasa nada. La versión de Gevent es 1.0b1.Cómo alinear un archivo con gevent
import os
import gevent
def follow(filename):
fd = os.open(filename, os.O_RDONLY|os.O_NONBLOCK)
os.lseek(fd, 0, os.SEEK_END)
hub = gevent.get_hub()
watcher = hub.loop.io(fd, 1)
while True:
hub.wait(watcher)
lines = os.read(fd, 4096).splitlines()
if not lines:
#gevent.sleep(.1)
continue
else:
for line in lines:
print "%s:%s" % (filename, line)
os.close(fd)
if __name__ == '__main__':
job1 = gevent.spawn(follow, '/var/log/syslog')
job2 = gevent.spawn(follow, '/var/log/messages')
gevent.joinall([job1, job2])
Si has encontrado una respuesta, publicar como una respuesta (y aceptar que una vez que puede) – MByD