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. > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>> > >> > >> > > > > --