[IMP] openerp/service/server.py: lint file

bzr revid: chs@openerp.com-20140221223544-q309ioxit8tzlaki
This commit is contained in:
Christophe Simonis 2014-02-21 23:35:44 +01:00
parent f511109440
commit d81e9debbe
1 changed files with 37 additions and 36 deletions

View File

@ -9,7 +9,6 @@ import os.path
import platform import platform
import psutil import psutil
import random import random
import re
import resource import resource
import select import select
import signal import signal
@ -32,12 +31,11 @@ except ImportError:
setproctitle = lambda x: None setproctitle = lambda x: None
import openerp import openerp
import openerp.tools.config as config from openerp.module.registry import RegistryManager
from openerp.release import nt_service_name from openerp.release import nt_service_name
import openerp.tools.config as config
from openerp.tools.misc import stripped_sys_argv, dumpstacks from openerp.tools.misc import stripped_sys_argv, dumpstacks
import wsgi_server
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
SLEEP_INTERVAL = 60 # 1 min SLEEP_INTERVAL = 60 # 1 min
@ -324,7 +322,6 @@ class ThreadedServer(CommonServer):
self.stop() self.stop()
return rc return rc
# Wait for a first signal to be handled. (time.sleep will be interrupted # Wait for a first signal to be handled. (time.sleep will be interrupted
# by the signal handler.) The try/except is for the win32 case. # by the signal handler.) The try/except is for the win32 case.
try: try:
@ -504,8 +501,8 @@ class PreforkServer(CommonServer):
def process_timeout(self): def process_timeout(self):
now = time.time() now = time.time()
for (pid, worker) in self.workers.items(): for (pid, worker) in self.workers.items():
if (worker.watchdog_timeout is not None) and \ if worker.watchdog_timeout is not None and \
(now - worker.watchdog_time >= worker.watchdog_timeout): (now - worker.watchdog_time) >= worker.watchdog_timeout:
_logger.error("Worker (%s) timeout", pid) _logger.error("Worker (%s) timeout", pid)
self.worker_kill(pid, signal.SIGKILL) self.worker_kill(pid, signal.SIGKILL)
@ -564,7 +561,8 @@ class PreforkServer(CommonServer):
def stop(self, graceful=True): def stop(self, graceful=True):
if self.long_polling_pid is not None: if self.long_polling_pid is not None:
self.worker_kill(self.long_polling_pid, signal.SIGKILL) # FIXME make longpolling process handle SIGTERM correctly # FIXME make longpolling process handle SIGTERM correctly
self.worker_kill(self.long_polling_pid, signal.SIGKILL)
self.long_polling_pid = None self.long_polling_pid = None
if graceful: if graceful:
_logger.info("Stopping gracefully") _logger.info("Stopping gracefully")
@ -634,7 +632,7 @@ class Worker(object):
def sleep(self): def sleep(self):
try: try:
ret = select.select([self.multi.socket], [], [], self.multi.beat) select.select([self.multi.socket], [], [], self.multi.beat)
except select.error, e: except select.error, e:
if e[0] not in [errno.EINTR]: if e[0] not in [errno.EINTR]:
raise raise
@ -700,7 +698,7 @@ class Worker(object):
self.process_work() self.process_work()
_logger.info("Worker (%s) exiting. request_count: %s.", self.pid, self.request_count) _logger.info("Worker (%s) exiting. request_count: %s.", self.pid, self.request_count)
self.stop() self.stop()
except Exception,e: except Exception:
_logger.exception("Worker (%s) Exception occured, exiting..." % self.pid) _logger.exception("Worker (%s) Exception occured, exiting..." % self.pid)
# should we use 3 to abort everything ? # should we use 3 to abort everything ?
sys.exit(1) sys.exit(1)
@ -780,9 +778,11 @@ class WorkerCron(Worker):
if len(db_names) > 1: if len(db_names) > 1:
openerp.sql_db.close_db(db_name) openerp.sql_db.close_db(db_name)
if rpc_request_flag: if rpc_request_flag:
end_time = time.time() run_time = time.time() - start_time
end_rss, end_vms = psutil.Process(os.getpid()).get_memory_info() end_rss, end_vms = psutil.Process(os.getpid()).get_memory_info()
logline = '%s time:%.3fs mem: %sk -> %sk (diff: %sk)' % (db_name, end_time - start_time, start_vms / 1024, end_vms / 1024, (end_vms - start_vms)/1024) vms_diff = (end_vms - start_vms) / 1024
logline = '%s time:%.3fs mem: %sk -> %sk (diff: %sk)' % \
(db_name, run_time, start_vms / 1024, end_vms / 1024, vms_diff)
_logger.debug("WorkerCron (%s) %s", self.pid, logline) _logger.debug("WorkerCron (%s) %s", self.pid, logline)
self.request_count += 1 self.request_count += 1
@ -843,7 +843,8 @@ def load_test_file_py(registry, test_file):
for t in unittest2.TestLoader().loadTestsFromModule(mod_mod): for t in unittest2.TestLoader().loadTestsFromModule(mod_mod):
suite.addTest(t) suite.addTest(t)
_logger.log(logging.INFO, 'running tests %s.', mod_mod.__name__) _logger.log(logging.INFO, 'running tests %s.', mod_mod.__name__)
result = unittest2.TextTestRunner(verbosity=2, stream=openerp.modules.module.TestStream()).run(suite) stream = openerp.modules.module.TestStream()
result = unittest2.TextTestRunner(verbosity=2, stream=stream).run(suite)
success = result.wasSuccessful() success = result.wasSuccessful()
registry._assertion_report.report_result(success) registry._assertion_report.report_result(success)
if not success: if not success:
@ -859,7 +860,7 @@ def preload_registries(dbnames):
for dbname in dbnames: for dbname in dbnames:
try: try:
update_module = config['init'] or config['update'] update_module = config['init'] or config['update']
registry = openerp.modules.registry.RegistryManager.new(dbname, update_module=update_module) registry = RegistryManager.new(dbname, update_module=update_module)
# run test_file if provided # run test_file if provided
if test_file: if test_file:
_logger.info('loading test file %s', test_file) _logger.info('loading test file %s', test_file)