mirror of
https://github.com/odoo/runbot.git
synced 2025-03-15 15:35:46 +07:00
[IMP] runbot_merge: trigger commits cron
The commit cron needs to be triggered any time we: - create a new commit - update a commit to set its `to_check` So do that in create and write as well as the SQL query in the webhook handler. This should mean we don't need the periodic cron anymore, but for safety's sake run it on 30mn for now. TBF even if we miss triggers, the next `status` webhook hitting will check all the relevant commits anyway...
This commit is contained in:
parent
92e8eecbb5
commit
7cd9afe7f2
@ -369,6 +369,7 @@ def handle_status(env, event):
|
||||
statuses = c.statuses::jsonb || EXCLUDED.statuses::jsonb
|
||||
WHERE NOT c.statuses::jsonb @> EXCLUDED.statuses::jsonb
|
||||
""", [event['sha'], status_value])
|
||||
env.ref("runbot_merge.process_updated_commits")._trigger()
|
||||
|
||||
return 'ok'
|
||||
|
||||
|
@ -64,7 +64,7 @@
|
||||
<field name="model_id" ref="model_runbot_merge_commit"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">model._notify()</field>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_number">30</field>
|
||||
<field name="interval_type">minutes</field>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="doall" eval="False"/>
|
||||
|
@ -1781,11 +1781,14 @@ class Commit(models.Model):
|
||||
def create(self, values):
|
||||
values['to_check'] = True
|
||||
r = super(Commit, self).create(values)
|
||||
self.env.ref("runbot_merge.process_updated_commits")._trigger()
|
||||
return r
|
||||
|
||||
def write(self, values):
|
||||
values.setdefault('to_check', True)
|
||||
r = super(Commit, self).write(values)
|
||||
if values['to_check']:
|
||||
self.env.ref("runbot_merge.process_updated_commits")._trigger()
|
||||
return r
|
||||
|
||||
def _notify(self):
|
||||
|
Loading…
Reference in New Issue
Block a user