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.

Reply via email to