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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to