Hi, I think i fixed the problem.
The error was a wrong import when registering the request method. The import worked within the ide envoirement but not outside and inside the ide in porduced this strange behavior.
Regards Estartu Am 11.10.21 um 18:58 schrieb Mike Orr:
Where is the cache stored, and which Lock class are you using? Application globals are tricky in Pyramid. One place you can store them is a registry attribute (request.registry.myattr); I use this for SQLAlchemy engines. Or you could stuff it into the configuration settings at startup. The registry has a native API for global objects but it's kind of complicated; 'pyramid_services' makes it more intuitive. But that may be overkill for one simple object. If your cache lookup is in view code; I'd encapsulate it into a request method, to decouple the views from the cache location. Logging entries usually include the module name, so that's not unusual. What's unusual is it's not fully qualified ( 'myapp.lib.agent_cache'). You may have disabled displaying the parents in the logging configuration, or more worrisome, it may be importing it as a top-level import or switching between two different 'agent_cache' modules. You can print or log ``repr(agent_cache)`` to see where it comes from and its parents. On Mon, Oct 11, 2021 at 1:35 AM Gerhard Schmidt <[email protected]> wrote:Hi, today I encountered a very strange problem with request methods. <--- code ---> cache = {'agents': set(), 'time': 0.0} cache_lock = Lock() def in_agent_cache(request): with cache_lock: return request.user_agent in cache['agents'] <--- end code ---> If I call the method directly, everything works fine. if I register the method as a request method and call it via request.in_agent_cache() the dict is always the default version, the set empty and time . If I move the dict and lock to another file and import it. Everything works even as a request method. The log messages are also recorded under a wrong module 2021-10-11 10:29:33,153 INFO [agent_cache:96][waitress-0] in_agent_cache called agent_cache is the name of the py file and not the package it's in. Any hint if I'm doing something wrong. Regards Estartu -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/90ae76af-8406-3ec5-b490-2f4af254431d%40augusta.de.
-- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/901cb508-6a31-4c9c-b8c6-1a2c4f71c632%40augusta.de.
