mirror of
https://github.com/odoo/runbot.git
synced 2025-03-27 13:25:47 +07:00
[IMP] runbot: keep cron on transaction rollback
This commit is contained in:
parent
c5e0da174a
commit
1ffa0468c1
@ -16,7 +16,7 @@ from odoo import models, fields, api
|
|||||||
from odoo.modules.module import get_module_resource
|
from odoo.modules.module import get_module_resource
|
||||||
from odoo.tools import config
|
from odoo.tools import config
|
||||||
from ..common import fqdn, dt2time
|
from ..common import fqdn, dt2time
|
||||||
|
from psycopg2.extensions import TransactionRollbackError
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@ -512,10 +512,16 @@ class runbot_repo(models.Model):
|
|||||||
update_frequency = int(icp.get_param('runbot.runbot_update_frequency', default=10))
|
update_frequency = int(icp.get_param('runbot.runbot_update_frequency', default=10))
|
||||||
while time.time() - start_time < timeout:
|
while time.time() - start_time < timeout:
|
||||||
repos = self.search([('mode', '!=', 'disabled')])
|
repos = self.search([('mode', '!=', 'disabled')])
|
||||||
repos._scheduler()
|
try:
|
||||||
self.env.cr.commit()
|
repos._scheduler()
|
||||||
self.env.reset()
|
self.env.cr.commit()
|
||||||
self = self.env()[self._name]
|
self.env.reset()
|
||||||
self._reload_nginx()
|
self = self.env()[self._name]
|
||||||
time.sleep(update_frequency)
|
self._reload_nginx()
|
||||||
|
time.sleep(update_frequency)
|
||||||
|
except TransactionRollbackError:
|
||||||
|
_logger.exception('Trying to rollback')
|
||||||
|
self.env.cr.rollback()
|
||||||
|
self.env.reset()
|
||||||
|
time.sleep(random.uniform(0, 1))
|
||||||
self.env['runbot.build']._local_cleanup()
|
self.env['runbot.build']._local_cleanup()
|
||||||
|
Loading…
Reference in New Issue
Block a user