Do you use modules? Do you do anything like

from gluon import current
request =  current.request # very very thread unsafe!!!

Massimo


On Saturday, 18 August 2012 11:27:31 UTC-5, howesc wrote:
>
> i agree that it is GAE specific.  i've never had a problem elsewhere. 
>
> On 8/17/12 22:19 , Massimo Di Pierro wrote: 
> > I opened an issue on googlecode. If there is a problem with thread 
> safety 
> > it is GAE specific. There is some logic created in the early days to 
> cache 
> > things on GAE assuming one process per request. 
> > 
> > On Friday, 17 August 2012 23:11:34 UTC-5, howesc wrote: 
> >> 
> >> db, auth, response was getting overwritten mid-request.  see 
> >> 
> https://groups.google.com/forum/?fromgroups#!topic/web2py/aaG7YK7fddg[1-25] 
> >> 
> >> On 8/17/12 19:49 , Massimo Di Pierro wrote: 
> >>> What kind of thread problems did you have on GAE? 
> >>> 
> >>> On Friday, 17 August 2012 16:23:17 UTC-5, howesc wrote: 
> >>>> 
> >>>> response.include_file() outputs the files that were added to 
> >>>> response.files (js, css).  when you remove that you loose the auto 
> >> output 
> >>>> of files that were added to response.files along the way. 
> >>>> 
> >>>> response.include_mete() works much the same for HTML meta properties. 
> >>>> 
> >>>> can we see the resulting HTML in both cases?  in the first case (when 
> >> it 
> >>>> fails completely) you get HTML right?  but jquery.js fails to load so 
> >> other 
> >>>> things on your site might break.  in the second case it sounds like 
> >> jquery 
> >>>> does load, but you are missing other files so your site breaks?  or 
> do 
> >> you 
> >>>> get no HTML to the browesr in either case? 
> >>>> 
> >>>> as an aside - how is threadsafe working for you on GAE?  i had some 
> >>>> problems with it myself....perhaps i have bad code. :) 
> >>>> 
> >>>> thanks, 
> >>>> 
> >>>> cfh 
> >>>> 
> >>>> On Thursday, August 16, 2012 1:29:00 PM UTC-7, Akash Kakkar wrote: 
> >>>>> 
> >>>>> Hi, 
> >>>>> 
> >>>>> I have tried deploying an earlier version of my app on gae and was 
> >>>>> successful, unfortunately the product release version of my app is 
> >>>>> faltering when I try to run locally on gae before deploying and was 
> >> getting 
> >>>>> undefined error. In the process of debugging I made changes in my 
> >> app.yaml 
> >>>>> file which is as below (deleted the skip files portion). I noticed 
> >> that 
> >>>>> with this when I try to run the application I get the following 
> error: 
> >>>>> <type 'exceptions.IOError'> [Errno 13] file not accessible: 
> >>>>> 
> '/home/akash/webdev/web2py/applications/docmatorx/static/js/jquery.js' 
> >>>>> 
> >>>>>    According to me the problem is with web2py_ajax.html file. which 
> if 
> >> I 
> >>>>> leave blank the application runs (though the layout.html 
> functionality 
> >> and 
> >>>>> the topbar vanishes) 
> >>>>> 
> >>>>> //original web2py_ajax.html 
> >>>>> <script type="text/javascript"> 
> >>>>>       var w2p_ajax_confirm_message = "{{=T('Are you sure you want to 
> >>>>> delete this object?')}}"; 
> >>>>>       var w2p_ajax_date_format = "{{=T('%Y-%m-%d')}}"; 
> >>>>>       var w2p_ajax_datetime_format = "{{=T('%Y-%m-%d %H:%M:%S')}}"; 
> >>>>>       </script> 
> >>>>> {{ 
> >>>>> response.files.insert(0,URL('static','js/jquery.js')) 
> >>>>> response.files.insert(1,URL('static','css/calendar.css')) 
> >>>>> response.files.insert(2,URL('static','js/calendar.js')) 
> >>>>> response.files.insert(3,URL('static','js/web2py.js')) 
> >>>>> response.include_meta() 
> >>>>> response.include_files() 
> >>>>> }} 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> #*app.yaml* 
> >>>>> #  For Google App Engine deployment, copy this file to app.yaml 
> >>>>> #  and edit as required 
> >>>>> #  See 
> >> http://code.google.com/appengine/docs/python/config/appconfig.html 
> >>>>> #  and http://web2py.com/book/default/chapter/11?search=app.yaml 
> >>>>> 
> >>>>> 
> >>>>> application: <my app as registered on GAE> 
> >>>>> version: 1 
> >>>>> api_version: 1 
> >>>>> 
> >>>>> 
> >>>>> # use this line for Python 2.5 
> >>>>> # 
> >>>>> # runtime: python 
> >>>>> 
> >>>>> 
> >>>>> # use these lines for Python 2.7 
> >>>>> # upload app with: appcfg.py update web2py (where 'web2py' is 
> web2py's 
> >>>>> root directory) 
> >>>>> # 
> >>>>> runtime: python27 
> >>>>> threadsafe: yes    # true for WSGI & concurrent requests (Python 2.7 
> >>>>> only) 
> >>>>> 
> >>>>> 
> >>>>> default_expiration: "24h"   # for static files 
> >>>>> 
> >>>>> 
> >>>>> handlers: 
> >>>>> 
> >>>>> 
> >>>>> - url: /(?P<a>.+?)/static/(?P<b>.+) 
> >>>>>     static_files: applications/\1/static/\2 
> >>>>>     upload: applications/(.+?)/static/(.+) 
> >>>>>     secure: optional 
> >>>>> 
> >>>>> 
> >>>>> - url: /favicon.ico 
> >>>>>     static_files: applications/welcome/static/favicon.ico 
> >>>>>     upload: applications/welcome/static/favicon.ico 
> >>>>> 
> >>>>> 
> >>>>> - url: /robots.txt 
> >>>>>     static_files: applications/welcome/static/robots.txt 
> >>>>>     upload: applications/welcome/static/robots.txt 
> >>>>> 
> >>>>> 
> >>>>> - url: .* 
> >>>>> # script: gaehandler.py         # CGI 
> >>>>>     script: gaehandler.wsgiapp    # WSGI (Python 2.7 only) 
> >>>>>     secure: optional 
> >>>>> 
> >>>>> 
> >>>>> admin_console: 
> >>>>>     pages: 
> >>>>>     - name: Appstats 
> >>>>>       url: /_ah/stats 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> builtins: 
> >>>>> - default: on 
> >>>>> - remote_api: on 
> >>>>> - appstats: on 
> >>>>> - admin_redirect: on 
> >>>>> - deferred: on 
> >>>>> - django_wsgi: on 
> >>>>> 
> >>>>> 
> >>>>> It would be nice If someone can tell me what is going wrong or if I 
> >> can 
> >>>>> get information on what files are included in the following 
> statements 
> >>>>> response.include_meta() 
> >>>>> response.include_files() 
> >>>>> 
> >>>>> My application runs (with limited layout features probably because 
> of 
> >> not 
> >>>>> including the meta and add on files) if I edit the web2py_ajax.html 
> >> file to 
> >>>>> : 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> <script type="text/javascript"><!-- 
> >>>>>       // These variables are used by the web2py_ajax_init function 
> in 
> >>>>> web2py_ajax.js (which is loaded below). 
> >>>>>       var w2p_ajax_confirm_message = "{{=T('Are you sure you want to 
> >>>>> delete this object?')}}"; 
> >>>>>       var w2p_ajax_date_format = "{{=T('%Y-%m-%d')}}"; 
> >>>>>       var w2p_ajax_datetime_format = "{{=T('%Y-%m-%d %H:%M:%S')}}"; 
> >>>>>       //--></script> 
> >>>>> <script src="{{=URL('static','js/jQuery.js')}}" 
> >>>>>           type="text/javascript"></script> 
> >>>>> <script src="{{=URL('static','css/calendar.css')}}" 
> >>>>>           type="text/javascript"></script> 
> >>>>> <script src="{{=URL('static','js/calendar.js')}}" 
> >>>>>           type="text/javascript"></script> 
> >>>>> <script src="{{=URL('static','css/web2py.css')}}" 
> >>>>>           type="text/javascript"></script> 
> >>>>> <script src="{{=URL('static','js/web2py.js')}}" 
> >>>>>           type="text/javascript"></script> 
> >>>>> 
> >>>>> Thank You for your Help. 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> 
> >>> 
> >> 
> >> 
> > 
>
>

-- 



Reply via email to