Sorry, I forgot to mention. I'm using nginx + uwsgi (cheaper busyness algorithm) I use redis for cache and postgresql for database.
El domingo, 17 de diciembre de 2017, 12:07:10 (UTC-3), Anthony escribió: > > How is web2py deployed? > > On Sunday, December 17, 2017 at 8:41:50 AM UTC-5, Lisandro wrote: >> >> Hello everyone. I've read the docs [1] and also read several posts in >> this forum about this problem, however I can't figure out why it's still >> happening in my case. I was hoping you can help me. >> >> In my application I have a simple page that makes an ajax async call to >> web2py in order to get some data. >> The controller/function that process the call takes a few seconds to >> complete (around 6-7 seconds). >> During that time, if the user clics on a link in order to navigate to >> another page of the application, it doesn't respond. The whole application >> freezes until the ajax call completes. >> >> In the documentation I've read about this, and this is the expected >> behaviour, because of the session file. So what I did is to put >> session.forget(response) at the top of the controller/function that process >> the ajax call. But this doesn't make any difference, the application still >> freezes until the ajax call is completed. I've also tried session.forget() >> and session._unlock(response) with no success. >> >> >> This is the script that makes the ajax call: >> >> <script type="text/javascript"> >> $j = jQuery.noConflict(); >> $j(document).ready(function() { >> $j.ajax({ >> type: "GET", >> async: true, >> url: "{{=URL('default', '_dashboard')}}", >> success: function(data) { $j(".dashboard").html(data) } >> }); >> }); >> </script> >> >> >> >> And this is the controller/function that process the call: >> >> @auth.requires(auth.is_logged_in() and auth.user.plantel) >> def _dashboard(): >> def get_info_dashboard(): >> from gluon.contrib.simplejsonrpc import ServerProxy >> webservice = ServerProxy(CONFIG.url_webservice_central) >> return webservice.get_info_dashboard({'sitio': CONFIG.cliente}) >> >> session.forget(response) >> info_dashboard = None >> try: >> r = cache.redis('info-dashboard', lambda: get_info_dashboard(), >> time_expire=300) >> if r.get('success'): >> info_dashboard = r.get('info_dashboard') >> except: >> pass >> return dict(info_dashboard=info_dashboard) >> >> >> >> What could be the issue? >> >> Thank you very much in advance. >> Regards, >> Lisandro. >> >> >> [1] http://web2py.com/books/default/chapter/29/04/the-core#session >> > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.