Dlaczego otrzymuję tę wiadomość debugującą na rejestratorze Odoo ?: „openerp.modules.registry: Multiprocess signaling check”?


3

Używam Odoo v8 z workers=5i 1 GB przypisać każdemu pracownikowi.

Skonfigurowałem Odoo za pomocą NginX i otrzymuję następujący komunikat. Ludzie, którzy korzystają z tej instancji, skarżą się na powolność Odoo. Czy to może być związane z powolnością?

Używam 3 pracowników dla NginX

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

Głównie użytkownicy korzystają z dwóch różnych baz danych. Otrzymuję te kombinacje, po jednej dla każdej bazy danych:

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

Aktualizacja . Jest to metoda, w której drukowany jest komunikat debugowania, ale nie wiem, co to jest registry a jeśli to jest złe, czy nie. Ponadto czasami otrzymuję wiadomość: 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

Czy to normalne zachowanie?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.