[MERGE] ir.cron: rollback db transaction upon job execution failure (courtesy of...
authorOlivier Dony <odo@openerp.com>
Tue, 18 Jan 2011 21:12:30 +0000 (22:12 +0100)
committerOlivier Dony <odo@openerp.com>
Tue, 18 Jan 2011 21:12:30 +0000 (22:12 +0100)
Tristan's original patch included better debugging, but the logging has been improved recently,
and moved to pythonic logging, so this part was removed during the merge.

bzr revid: odo@openerp.com-20110118211230-z1gipsfeq2tna210

1  2 
bin/addons/base/ir/ir_cron.py

@@@ -93,8 -91,11 +93,9 @@@ class ir_cron(osv.osv, netsvc.Agent)
              try:
                  f(cr, uid, *args)
              except Exception, e:
+                 cr.rollback()
 -                self._logger.notifyChannel('timers', netsvc.LOG_ERROR,
 -                                           "Job call of self.pool.get('%s').%s(cr, uid, *%r) failed\n%s" %
 -                                           (model, func, args, tools.exception_to_unicode(e)))
 -                self._logger.notifyChannel('timers', netsvc.LOG_DEBUG, traceback.format_exc())
 +                self._logger.exception("Job call of self.pool.get('%s').%s(cr, uid, *%r) failed" % (model, func, args))
 +
  
      def _poolJobs(self, db_name, check=False):
          try: