Hello, I don't think, that thread pool is necessary. MemcacheClient module do synchronous requests, so it needs one socket/thread to not block web2py threads by each other. This is done by using threading.local... So maybe lets try: -------- CUT --------- --- __init__.py.bak 2009-05-22 06:44:03.000000000 +0200 +++ __init__.py 2009-09-13 16:46:44.000000000 +0200 @@ -9,7 +9,12 @@
import cPickle as pickle -class MemcacheClient(Client): +def MemcacheClient(*a, **b): + if not hasattr(MemcacheClient, '__mc_instance'): + MemcacheClient.__mc_instance = _MemcacheClient(*a, **b) + return MemcacheClient.__mc_instance + +class _MemcacheClient(Client): def __init__(self, request, servers, debug=0, pickleProtocol=0, pickler=pickle.Pickler, unpickler=pickle.Unpickler, pload=None, pid=None): -------- CUT --------- Adding thread pool would require adding some locking. I think it wouldn't speed up communication for typical usage (a few requests to memcache server per controller action). Correct me, if I'm wrong. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---