summaryrefslogtreecommitdiff
path: root/src/server/rz_kernel.py
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-04-10 18:13:36 +0200
committerAlon Levy <alon@pobox.com>2015-04-10 18:14:47 +0200
commit3e2452ad6480e726fee8fdf2e3817ef09b0ba34d (patch)
treed2fe1e7c52fc7abeb9bb2012cf0e67894176fea2 /src/server/rz_kernel.py
parenta0a25e66962db7b3fd42eb1b15b291041c2e35cc (diff)
server/rz_kernel: switch to 0.5 second polling..
until an actual select/eventfd based solution is implemented
Diffstat (limited to 'src/server/rz_kernel.py')
-rw-r--r--src/server/rz_kernel.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/rz_kernel.py b/src/server/rz_kernel.py
index 1336fd70..2debd293 100644
--- a/src/server/rz_kernel.py
+++ b/src/server/rz_kernel.py
@@ -99,15 +99,17 @@ class RZ_Kernel(object):
Handle periodic server tasks:
- manage rzdoc subscriber lists
"""
- while False == self.should_stop:
-
+ while True:
for rzdoc, r_assoc_set in self.rzdoc_reader_assoc_map.items():
for r_assoc in r_assoc_set:
if r_assoc.err_count__IO > 3:
r_assoc_set.remove(r_assoc)
log.info('rz_kernel: evicting reader: IO error count exceeded limit: remote-addr: %s, rzdoc: %s' % (r_assoc.remote_socket_addr,
rzdoc.name))
- time.sleep(self.heartbeat_period_sec)
+ for i in xrange(self.heartbeat_period_sec * 2):
+ if False == self.should_stop:
+ return;
+ time.sleep(0.5)
self.executor = ThreadPoolExecutor(max_workers=8)
self.executor.submit(kernel_heartbeat)