From 06049ba60205e54493ed9652e3165c563985526f Mon Sep 17 00:00:00 2001 From: "ChangBo Guo(gcb)" Date: Tue, 21 Mar 2017 11:34:21 +0800 Subject: [PATCH] Refactor logic of getting exector's executor_thread_pool_size * add application scenario to help of config option 'executor_thread_pool_size' * Move eventlet patched checking to constructor Change-Id: I9dc7c993c8947b51952365cc5e7b6f2daae6bb70 --- oslo_messaging/server.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/oslo_messaging/server.py b/oslo_messaging/server.py index 813f8cecb..92e752c59 100644 --- a/oslo_messaging/server.py +++ b/oslo_messaging/server.py @@ -52,7 +52,8 @@ _pool_opts = [ cfg.IntOpt('executor_thread_pool_size', default=64, deprecated_name="rpc_thread_pool_size", - help='Size of executor thread pool.'), + help='Size of executor thread pool when' + ' executor is threading or eventlet.'), ] @@ -339,6 +340,10 @@ class MessageHandlingServer(service.ServiceBase, _OrderedTaskRunner): LOG.info(_LI("blocking executor handles only one message at " "once. threading or eventlet executor is " "recommended.")) + elif self.executor_type == "eventlet": + eventletutils.warn_eventlet_not_patched( + expected_patched_modules=['thread'], + what="the 'oslo.messaging eventlet executor'") self.listener = None @@ -402,18 +407,10 @@ class MessageHandlingServer(service.ServiceBase, _OrderedTaskRunner): executor_opts = {} - if self.executor_type == "threading": + if self.executor_type in ("threading", "eventlet"): executor_opts["max_workers"] = ( override_pool_size or self.conf.executor_thread_pool_size ) - elif self.executor_type == "eventlet": - eventletutils.warn_eventlet_not_patched( - expected_patched_modules=['thread'], - what="the 'oslo.messaging eventlet executor'") - executor_opts["max_workers"] = ( - override_pool_size or self.conf.executor_thread_pool_size - ) - self._work_executor = self._executor_cls(**executor_opts) try: