yes i use modules, and current, but in the form of:
from gluon import current
def module_func():
if current.request.args:
do something
return
that is threadsafe right?
in either case, when i had the problems reported in the other thread i was
not using current in modules.
On Saturday, August 18, 2012 1:47:55 PM UTC-7, Massimo Di Pierro wrote:
>
> 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.
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>
>> >>
>> >>
>> >
>>
>>
--