[FIX] cron: avoid multiple cron
bzr revid: chs@openerp.com-20100906152927-7xhtr8q4vqjqc26h
This commit is contained in:
parent
d429b331e0
commit
0f8e08d617
|
@ -143,24 +143,26 @@ class ir_cron(osv.osv, netsvc.Agent):
|
|||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
def restart(self, dbname):
|
||||
self.cancel(dbname)
|
||||
self._poolJobs(dbname)
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
res = super(ir_cron, self).create(cr, uid, vals, context=context)
|
||||
cr.commit()
|
||||
self.cancel(cr.dbname)
|
||||
self._poolJobs(cr.dbname)
|
||||
self.restart(cr.dbname)
|
||||
return res
|
||||
|
||||
def write(self, cr, user, ids, vals, context=None):
|
||||
res = super(ir_cron, self).write(cr, user, ids, vals, context=context)
|
||||
cr.commit()
|
||||
self.cancel(cr.dbname)
|
||||
self._poolJobs(cr.dbname)
|
||||
self.restart(cr.dbname)
|
||||
return res
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
res = super(ir_cron, self).unlink(cr, uid, ids, context=context)
|
||||
cr.commit()
|
||||
self.cancel(cr.dbname)
|
||||
self._poolJobs(cr.dbname)
|
||||
self.restart(cr.dbname)
|
||||
return res
|
||||
ir_cron()
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ def get_db_and_pool(db_name, force_demo=False, status=None, update_module=False,
|
|||
|
||||
try:
|
||||
addons.load_modules(db, force_demo, status, update_module)
|
||||
except Exception, e:
|
||||
except Exception:
|
||||
del pool_dic[db_name]
|
||||
raise
|
||||
|
||||
|
@ -51,13 +51,12 @@ def get_db_and_pool(db_name, force_demo=False, status=None, update_module=False,
|
|||
import report
|
||||
report.interface.register_all(db)
|
||||
if pooljobs:
|
||||
pool.get('ir.cron')._poolJobs(db.dbname)
|
||||
pool.get('ir.cron').restart(db.dbname)
|
||||
return db, pool
|
||||
|
||||
|
||||
def restart_pool(db_name, force_demo=False, status=None, update_module=False):
|
||||
if db_name in pool_dic:
|
||||
pool_dic[db_name].get('ir.cron').cancel(db_name)
|
||||
del pool_dic[db_name]
|
||||
return get_db_and_pool(db_name, force_demo, status, update_module=update_module)
|
||||
|
||||
|
|
Loading…
Reference in New Issue