I think there's a lot of unknowns in helping unpack this - for starters there's 
no code supplied that actually modifies the cache, so of course it is empty!

- There's a few gotchas in python - for example if this is done in the main 
file in your app (foo.py) and you run "python -m foo" then the module may be 
imported twice as "__main__" and as "foo" which can cause surprises.

- I see you're using waitress so this probably isn't a problem, but you're 
using an in-memory cache and so nothing will be shared across processes if you 
ever fork.

- Michael

> On Oct 11, 2021, at 03:34, Gerhard Schmidt <esta...@augusta.de> 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 pylons-discuss+unsubscr...@googlegroups.com.
> 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 pylons-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/6C2270B2-EA05-4FC6-98F5-A27863A22682%40gmail.com.

Reply via email to