[IMP] runbot_merge: auto-trigger cron for issue closing

Probably should create a mixin for this: when a model is used as a
task queue for a cron, the cron should automatically be triggered on
creation. Requiring an explicit trigger after a creation is error
prone and increase the risks that some of the triggers will be
forgotten/missed.
This commit is contained in:
Xavier Morel 2024-12-16 09:03:56 +01:00
parent 991cae1af0
commit 0fd254b5fe
2 changed files with 6 additions and 2 deletions

View File

@ -1,6 +1,6 @@
import logging
from odoo import models, fields
from odoo import models, fields, api
_logger = logging.getLogger(__name__)
class BranchCleanup(models.Model):
@ -10,6 +10,11 @@ class BranchCleanup(models.Model):
repository_id = fields.Many2one('runbot_merge.repository', required=True)
number = fields.Integer(required=True)
@api.model_create_multi
def create(self, vals_list):
self.env.ref('runbot_merge.issues_closer_cron')._trigger()
return super().create(vals_list)
def _run(self):
ghs = {}
while t := self.search([], limit=1):

View File

@ -2435,7 +2435,6 @@ class Stagings(models.Model):
})
if self.issues_to_close:
self.env['runbot_merge.issues_closer'].create(self.issues_to_close)
self.env.ref('runbot_merge.issues_closer_cron')._trigger()
finally:
self.write({'active': False})
elif self.state == 'failure' or self.is_timed_out():