[IMP] workers better logging
authorAntony Lesuisse <al@openerp.com>
Sun, 9 Dec 2012 20:31:34 +0000 (21:31 +0100)
committerAntony Lesuisse <al@openerp.com>
Sun, 9 Dec 2012 20:31:34 +0000 (21:31 +0100)
bzr revid: al@openerp.com-20121209203134-sobl1m3q53bjne2i

openerp/service/workers.py

index f8c9ff1..05c61bb 100644 (file)
@@ -251,7 +251,7 @@ class Worker(object):
         # Reset the worker if it consumes too much memory (e.g. caused by a memory leak).
         rss, vms = psutil.Process(os.getpid()).get_memory_info()
         if vms > config['limit_memory_soft']:
-            _logger.info('Virtual memory consumption too high, rebooting the worker.')
+            _logger.info('Worker (%d) virtual memory limit (%s) reached.', self.pid, vms)
             self.alive = False # Commit suicide after the request.
 
         # VMS and RLIMIT_AS are the same thing: virtual memory, a.k.a. address space
@@ -262,7 +262,8 @@ class Worker(object):
         r = resource.getrusage(resource.RUSAGE_SELF)
         cpu_time = r.ru_utime + r.ru_stime
         def time_expired(n, stack):
-            _logger.info('CPU time limit exceeded.')
+            _logger.info('Worker (%d) CPU time limit (%s) reached.', config['limit_time_cpu'])
+            # We dont suicide in such case
             raise Exception('CPU time limit exceeded.')
         signal.signal(signal.SIGXCPU, time_expired)
         soft, hard = resource.getrlimit(resource.RLIMIT_CPU)
@@ -358,9 +359,9 @@ class WorkerCron(Worker):
                 # TODO why isnt openerp.addons.base defined ?
                 import base
                 acquired = base.ir.ir_cron.ir_cron._acquire_job(db_name)
-                # TODO Each job should be considered as one request in multiprocessing
                 if not acquired:
                     break
+        # TODO Each job should be considered as one request instead of each db
         self.request_count += 1
 
     def start(self):