#!/usr/bin/python3 from tools import RunbotClient, run import logging import time _logger = logging.getLogger(__name__) class LeaderClient(RunbotClient): # Conductor, Director, Main, Maestro, Lead def __init__(self, env): self.pull_info_failures = {} super().__init__(env) def on_start(self): if self.env['ir.config_parameter'].sudo().get_param('runbot.runbot_do_fetch'): _logger.info('Updating all repos') for repo in self.env['runbot.repo'].search([('mode', '!=', 'disabled')]): repo._update(force=True) _logger.info('update finished') def loop_turn(self): if self.count == 0: self.env['runbot.repo']._update_git_config() self.env.cr.commit() self.git_gc() self.env.cr.commit() return self.env['runbot.runbot']._fetch_loop_turn(self.host, self.pull_info_failures) if __name__ == '__main__': run(LeaderClient)