[FIX] workers limit cron memory usage
bzr revid: al@openerp.com-20130405001112-gknqvx0iyjmu1ona
This commit is contained in:
@@ -229,6 +229,9 @@ class Worker(object):
|
||||
self.request_max = multi.limit_request
|
||||
self.request_count = 0
|
||||
|
||||
def setproctitle(self, title=""):
|
||||
setproctitle('openerp: %s %s %s' % (self.__class__.__name__, self.pid, title))
|
||||
|
||||
def close(self):
|
||||
os.close(self.watchdog_pipe[0])
|
||||
os.close(self.watchdog_pipe[1])
|
||||
@@ -278,7 +281,7 @@ class Worker(object):
|
||||
|
||||
def start(self):
|
||||
self.pid = os.getpid()
|
||||
setproctitle('openerp: %s %s' % (self.__class__.__name__, self.pid))
|
||||
self.setproctitle()
|
||||
_logger.info("Worker %s (%s) alive", self.__class__.__name__, self.pid)
|
||||
# Reseed the random number generator
|
||||
random.seed()
|
||||
@@ -381,6 +384,7 @@ class WorkerCron(Worker):
|
||||
if len(db_names):
|
||||
self.db_index = (self.db_index + 1) % len(db_names)
|
||||
db_name = db_names[self.db_index]
|
||||
self.setproctitle(db_name)
|
||||
if rpc_request_flag:
|
||||
start_time = time.time()
|
||||
start_rss, start_vms = psutil.Process(os.getpid()).get_memory_info()
|
||||
@@ -390,6 +394,7 @@ class WorkerCron(Worker):
|
||||
import base
|
||||
acquired = base.ir.ir_cron.ir_cron._acquire_job(db_name)
|
||||
if not acquired:
|
||||
openerp.modules.registry.RegistryManager.delete(db_name)
|
||||
break
|
||||
# dont keep cursors in multi database mode
|
||||
if len(db_names) > 1:
|
||||
|
||||
Reference in New Issue
Block a user