I believe I'm using python 2.5. The script I posted before is the
entire script, so no timeouts.

The server side is simply outputting 'a':
self.response.out.write('a')


On Apr 1, 6:34 pm, Jeff S <j...@google.com> wrote:
> At this point I am suspicious that the timeout error may coming from
> the client side. Which version of Python are you using to run the
> client? Also, did you set any timeout options elsewhere (looks like
> no)?
>
> It may also be the case that the app responds more slowly after the
> initial burst due to an issue like datastore contention. If later
> requests are more CPU intensive, responses may come back more slowly
> than the early requests due to the behavior described in the Active
> Requests section of the docs I linked to earlier:
>
> """
> Applications that are heavily CPU-bound, on the other hand, may incur
> some additional latency in long-running requests in order to make room
> for other apps sharing the same servers.
> """
>
> Could you tell us a bit more about what is being executed in these
> requests?
>
> Thank you,
>
> Jeff
>
> On Mar 31, 7:44 pm, MajorProgamming <sefira...@gmail.com> wrote:
>
> > Wow>> Doesn't seem like GAE is happy with this arrangement:
>
> > I set up a simple system like so (in python)
>
> > [code]
> > import threading
> > import urllib2
>
> > class MyThread ( threading.Thread ):
> >         def __init__ (self,j):
> >                 threading.Thread.__init__(self)
> >                 self.j=j
> >                 self.html=''
>
> >         def run ( self ):
> >                 for x in xrange(500):
> >                         try:
> >                                 response = 
> > urllib2.urlopen('http://thetesturl')
> >                                 html = response.read()
> >                                 self.html=html
> >                         except urllib2.HTTPError, e:
> >                                 print e.code
> >                         except urllib2.URLError, e:
> >                                 print e.reason
> >                 # at end of thread life
> >                 print self.html
>
> > #init threads (10)
> > for x in xrange ( 10 ):
> >    z=MyThread(x)
> >    z.start()
> > [/code]
>
> > I ran this code on the client side. It ran fine but at approximately
> > 100 requests it began to return Operation Timed Out Errors (code
> > 10060). This is probably due to some Denial of Service protection by
> > GAE firewalls (?)
>
> > Is there any way for me to tell GAE that this is my app, and it's
> > legit, or is there any way to work around it?
>
> > [note: on the server side, nothing turned up on these errors which
> > leads me to believe it was a very low level protection]
>
> > On Mar 31, 2:52 pm, Jeff S <j...@google.com> wrote:
>
> > > From the quota details page, the current default limit for
> > >simultaneousactive dynamic requests is around 30 per app.
>
> > >http://code.google.com/appengine/docs/quotas.html#Request_Limits
>
> > > (However, it may be possible to raise these limits on a case by case
> > > basishttp://code.google.com/appengine/kb/billing.html#cpu)
>
> > > Your approach sounds reasonable, but I was curious about your mention
> > > of threading. Would that be client side threading? Ajax triggers would
> > > be another good solution which I've seen apps use.
>
> > > Thank you,
>
> > > Jeff
>
> > > On Mar 30, 2:38 pm, MajorProgamming <sefira...@gmail.com> wrote:
>
> > > > I am currently working on a way to mass email [in a short period of
> > > > time] using Google App Engine. I figured that as of now the best way
> > > > to do this would be to run many requests in parallel. I was wondering
> > > > if my app would accept many requests at once, and if so what would the
> > > > limit be [in the paid version]?
>
> > > > Would this work? Is this the best way to do this?
>
> > > > As for implementing the parallel requests I figured the simplest way
> > > > would be to use the python threading. I was wondering if using AJAX
> > > > would be any better, or if it would even work for parallel requests??
>
> > > > Thanks,
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to