C/C++教程

odoo Reloading the model registry after database signaling, pgpool, cluster

本文主要是介绍odoo Reloading the model registry after database signaling, pgpool, cluster,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

现象

搭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

这篇关于odoo Reloading the model registry after database signaling, pgpool, cluster的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!