diff options
| author | Alon Levy <alon@pobox.com> | 2015-04-10 18:13:36 +0200 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2015-04-10 18:14:47 +0200 |
| commit | 3e2452ad6480e726fee8fdf2e3817ef09b0ba34d (patch) | |
| tree | d2fe1e7c52fc7abeb9bb2012cf0e67894176fea2 /src/server | |
| parent | a0a25e66962db7b3fd42eb1b15b291041c2e35cc (diff) | |
server/rz_kernel: switch to 0.5 second polling..
until an actual select/eventfd based solution is implemented
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/rz_kernel.py | 8 |
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) |
