[MERGE] forward port branch 8.0 up to 775022e01f
This commit is contained in:
+2
-1
@@ -802,7 +802,8 @@ class mrp_production(osv.osv):
|
||||
proc_obj = self.pool.get("procurement.order")
|
||||
procs = proc_obj.search(cr, uid, [('production_id', 'in', ids)], context=context)
|
||||
if procs:
|
||||
proc_obj.message_post(cr, uid, procs, body=_('Manufacturing order cancelled.'), context=context)
|
||||
for proc in procs:
|
||||
proc_obj.message_post(cr, uid, proc, body=_('Manufacturing order cancelled.'), context=context)
|
||||
proc_obj.write(cr, uid, procs, {'state': 'exception'}, context=context)
|
||||
return True
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Spain, 2017-02-27
|
||||
|
||||
I hereby agree to the terms of the Odoo Individual Contributor License
|
||||
Agreement v1.0.
|
||||
|
||||
I declare that I am authorized and able to make this agreement and sign this
|
||||
declaration.
|
||||
|
||||
Signed,
|
||||
|
||||
Isaac Gallart Bochons igallart@puntsistemes.es https://github.com/igallart
|
||||
@@ -198,20 +198,20 @@ class ir_cron(osv.osv):
|
||||
"""
|
||||
db = openerp.sql_db.db_connect(db_name)
|
||||
threading.current_thread().dbname = db_name
|
||||
cr = db.cursor()
|
||||
jobs = []
|
||||
try:
|
||||
# Make sure the database we poll has the same version as the code of base
|
||||
cr.execute("SELECT 1 FROM ir_module_module WHERE name=%s AND latest_version=%s", ('base', BASE_VERSION))
|
||||
if cr.fetchone():
|
||||
# Careful to compare timestamps with 'UTC' - everything is UTC as of v6.1.
|
||||
cr.execute("""SELECT * FROM ir_cron
|
||||
WHERE numbercall != 0
|
||||
AND active AND nextcall <= (now() at time zone 'UTC')
|
||||
ORDER BY priority""")
|
||||
jobs = cr.dictfetchall()
|
||||
else:
|
||||
_logger.warning('Skipping database %s as its base version is not %s.', db_name, BASE_VERSION)
|
||||
with db.cursor() as cr:
|
||||
# Make sure the database we poll has the same version as the code of base
|
||||
cr.execute("SELECT 1 FROM ir_module_module WHERE name=%s AND latest_version=%s", ('base', BASE_VERSION))
|
||||
if cr.fetchone():
|
||||
# Careful to compare timestamps with 'UTC' - everything is UTC as of v6.1.
|
||||
cr.execute("""SELECT * FROM ir_cron
|
||||
WHERE numbercall != 0
|
||||
AND active AND nextcall <= (now() at time zone 'UTC')
|
||||
ORDER BY priority""")
|
||||
jobs = cr.dictfetchall()
|
||||
else:
|
||||
_logger.warning('Skipping database %s as its base version is not %s.', db_name, BASE_VERSION)
|
||||
except psycopg2.ProgrammingError, e:
|
||||
if e.pgcode == '42P01':
|
||||
# Class 42 — Syntax Error or Access Rule Violation; 42P01: undefined_table
|
||||
@@ -221,8 +221,6 @@ class ir_cron(osv.osv):
|
||||
raise
|
||||
except Exception:
|
||||
_logger.warning('Exception in cron:', exc_info=True)
|
||||
finally:
|
||||
cr.close()
|
||||
|
||||
for job in jobs:
|
||||
lock_cr = db.cursor()
|
||||
|
||||
@@ -217,8 +217,12 @@ class ThreadedServer(CommonServer):
|
||||
_logger.debug('cron%d polling for jobs', number)
|
||||
for db_name, registry in registries.iteritems():
|
||||
while registry.ready:
|
||||
acquired = openerp.addons.base.ir.ir_cron.ir_cron._acquire_job(db_name)
|
||||
if not acquired:
|
||||
try:
|
||||
acquired = openerp.addons.base.ir.ir_cron.ir_cron._acquire_job(db_name)
|
||||
if not acquired:
|
||||
break
|
||||
except Exception:
|
||||
_logger.warning('cron%d encountered an Exception:', number, exc_info=True)
|
||||
break
|
||||
|
||||
def cron_spawn(self):
|
||||
|
||||
Reference in New Issue
Block a user