4

I am using Odoo v8, with workers=5, and 1GB assign to each worker.

I have configured Odoo with NginX and I am receiving this following message. The people who is using that instance is complaining about the slowness of Odoo. Might this be related with the slowness?

I am using 3 workers for NginX

openerp.modules.registry: Multiprocess signaling check: [Registry - old# 1 new# 1] [Cache - old# 3 new# 3]

Mainly the users are using two different databases I get these combinations, one for each database:

[Registry - old# 1 new# 1] [Cache - old# 1 new# 1]      >> database 1
[Registry - old# 1 new# 1] [Cache - old# 3 new# 3]      >> database 2

Update. This is the method where the debug message is printed, but I don know whats is the registry and if that is bad or not. Moreover sometimes I get the message: Invalidating all model caches after database signaling.

@classmethod
def check_registry_signaling(cls, db_name):
    """
    Check if the modules have changed and performs all necessary operations to update
    the registry of the corresponding database.


    :returns: True if changes has been detected in the database and False otherwise.
    """
    changed = False
    if openerp.multi_process and db_name in cls.registries:
        registry = cls.get(db_name)
        cr = registry.cursor()
        try:
            cr.execute("""
                SELECT base_registry_signaling.last_value,
                       base_cache_signaling.last_value
                FROM base_registry_signaling, base_cache_signaling""")
            r, c = cr.fetchone()
            _logger.debug("Multiprocess signaling check: [Registry - old# %s new# %s] "\
                "[Cache - old# %s new# %s]",
                registry.base_registry_signaling_sequence, r,
                registry.base_cache_signaling_sequence, c)
            # Check if the model registry must be reloaded (e.g. after the
            # database has been updated by another process).
            if registry.base_registry_signaling_sequence is not None and registry.base_registry_signaling_sequence != r:
                changed = True
                _logger.info("Reloading the model registry after database signaling.")
                registry = cls.new(db_name)
            # Check if the model caches must be invalidated (e.g. after a write
            # occured on another process). Don't clear right after a registry
            # has been reload.
            elif registry.base_cache_signaling_sequence is not None and registry.base_cache_signaling_sequence != c:
                changed = True
                _logger.info("Invalidating all model caches after database signaling.")
                registry.clear_caches()
                registry.reset_any_cache_cleared()
            registry.base_registry_signaling_sequence = r
            registry.base_cache_signaling_sequence = c
        finally:
            cr.close()
    return changed

Is this the normal behaviour?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.