Yes, that looks good and my test passed successfully.

Jim

From:  Massimo Di Pierro <[email protected]>
Reply-To:  <[email protected]>
Date:  Wednesday, January 23, 2013 6:48 AM
To:  <[email protected]>
Subject:  [web2py] Re: anyserver.py not working properly for gevent

Thank you for bringing this up. It is a serious issue. I think I have fixed
this in trunk in anyserver. Can you check my solution is acceptable?

On Wednesday, 23 January 2013 01:09:48 UTC-6, JimK  wrote:
> Since gluon.main and gluon.fileutils are being imported before gevent's
> monkey.patch_all() is run, the sessions were getting mixed up.
> 
> Here's the code I used that verified the issue (found on this forum):
> 
> def index():
> import time
> from gluon import current
> print current.request.uuid
> time.sleep(10)
> print current.request.uuid
> return dict(done='done!')
> 
> Load this method in 2 different browsers within 10 seconds and you'll see that
> the uuids are out of sync.
> 
> It should be:
> A
> B
> A
> B
> 
> But instead you get:
> A
> B
> B
> B
> 
> To fix this, I created a separate file that just starts the gevent server.
> Essentially, before importing the gluon modules, I run:
> from gevent import monkey
> monkey.patch_all()
> 
> After running the test again, I get:
> A
> B
> A
> B
> 
> So, should we remove gevent from anyserver.py and add gevent_server.py?  This
> would save others from encountering the same issue that I did.
-- 
 
 
 


-- 



Reply via email to