के साथ फ़ाइल को कैसे पूंछना है मुझे भूगर्भ पूंछ फ़ंक्शन का निर्माण करने में समस्या है। आम तौर पर, कोड काम करता है जब मैं gevent.sleep में लूप टिप्पणी करता हूं, लेकिन फिर CPU उपयोग 100% है। जब मैं gevent.sleep प्रोग्राम छोड़ देता हूं लेकिन कुछ भी नहीं हो रहा है। गीवेंट संस्करण 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