From 35dec941731f4f7d7546b7601604bdaf45160451 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 3 Jun 2015 18:41:27 +0530 Subject: [PATCH] Log failure to shutdown workers in pool cleanly --- src/calibre/srv/loop.py | 2 ++ src/calibre/srv/tests/loop.py | 1 + 2 files changed, 3 insertions(+) diff --git a/src/calibre/srv/loop.py b/src/calibre/srv/loop.py index 8f72427116..f260c36710 100644 --- a/src/calibre/srv/loop.py +++ b/src/calibre/srv/loop.py @@ -566,6 +566,8 @@ class ServerLoop(object): wait_till = time.time() + self.opts.shutdown_timeout for pool in (self.plugin_pool, self.pool): pool.stop(wait_till) + if pool.workers: + self.log.warn('Failed to shutdown %d workers in %s cleanly' % (len(pool.workers), pool.__class__.__name__)) class EchoLine(Connection): # {{{ diff --git a/src/calibre/srv/tests/loop.py b/src/calibre/srv/tests/loop.py index 5e884431f9..3d8f844393 100644 --- a/src/calibre/srv/tests/loop.py +++ b/src/calibre/srv/tests/loop.py @@ -89,6 +89,7 @@ class LoopTest(BaseTest): with self.assertRaises(socket.timeout): conn.getresponse() self.ae(pool.busy, 1) + server.loop.log.filter_level = server.loop.log.ERROR server.loop.stop() server.join() self.ae(1, sum(int(w.is_alive()) for w in pool.workers))