У меня проблема с построением функции gevent tail. В общем, код работает, когда я комментирую gevent.sleep в цикле, но тогда загрузка процессора составляет 100%. Когда я оставляю программу gevent.sleep, ничего не происходит. Версия Gevent 1.0b1.Как связать файл с 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])
Если вы нашли ответ, опубликовать его в качестве ответа (и принимаю его, как только вы можете) – MByD