搭odoo集群时服务总是重新加载并提示:Reloading the model registry after database signaling
主从数据sequence不一致导致
## 调整源码 def check_signaling(self): """ Check whether the registry has changed, and performs all necessary operations to update the registry. Return an up-to-date registry. """ if self.in_test_mode(): return self with closing(self.cursor()) as cr: cr.execute(""" SELECT base_registry_signaling.last_value+base_registry_signaling.log_cnt, base_cache_signaling.last_value + base_cache_signaling.log_cnt FROM base_registry_signaling, base_cache_signaling""") r, c = cr.fetchone() _logger.debug("Multiprocess signaling check: [Registry - %s -> %s] [Cache - %s -> %s]", self.registry_sequence, r, self.cache_sequence, c) # Check if the model registry must be reloaded if self.registry_sequence != r: _logger.info("Reloading the model registry after database signaling.") self = Registry.new(self.db_name) # Check if the model caches must be invalidated. elif self.cache_sequence != c: _logger.info("Invalidating all model caches after database signaling.") self.clear_caches() self.cache_invalidated = False self.registry_sequence = r self.cache_sequence = c return self
参考:
https://blog.csdn.net/weixin_33805557/article/details/91738509
https://www.danaoker.com/archives/141