AH! There definitely is a problem here with the custom domain, for some
reason it's throwing a 'Bad Gateway' error when I grab the headers. I don't
know why yet, but I'll keep you posted

-Marzia

On Tue, Feb 24, 2009 at 2:03 PM, lenza <le...@aznel.trickip.net> wrote:

>
> Thanks so much for testing this out Marzia!  It is really awesome how
> super helpful you are.  You have helped me get one step closer to a
> solution...
>
> I have my app setup to use my own domain.  When I go directly to my
> appspot.com address it works:
>
>    http://lenzasapp2.appspot.com/test?sleep=35
>
> but going through my domain fails:
>
>    http://apartmenthunter.lenza.org/test?sleep=35
>
> This give you any ideas?  Thanks again for your help!
>
>  -Lenza
>
> On Feb 24, 1:20 pm, Marzia Niccolai <ma...@google.com> wrote:
> > Hi,
> >
> > I really am out of ideas since it works perfectly for me (seehttp://
> yo.appspot.com/?sleep=2vshttp://yo.appspot.com/?sleep=35) where I
> > used your exact handler information.
> >
> > The issue is that, for some reason, the handler continues to execute too
> > long after the DeadlineExeededError is thrown.  So when you see the
> Google
> > Page this is the expected behavior.  But if all you do is render that
> simple
> > text after catching the error, it's strange that you exceed the second
> > deadline.
> >
> > Are you sure there are no indenting or other issues that may cause your
> > script to execute something after self.response.out.write("This is the
> > normal result message")?
> >
> > Also, it's worth mentioning that the dev_appserver does strictly enforce
> the
> > request limit times as the production system does, so it may not be
> > something you notice on the dev_appserver when trying to test.
> >
> > -Marzia
> >
> > On Tue, Feb 24, 2009 at 2:07 AM, lenza <le...@aznel.trickip.net> wrote:
> >
> > > Thanks for the response Marzia.  I tried again with the return
> > > statement and I am still having the same issue.  The code I pasted
> > > below is the entirety of my handler, so there is nothing in it that
> > > would cause a timeout after the initial DeadlineExceededError.  I also
> > > checked that I am importing the correct DeadlineExceededError, and I
> > > can tell the error is being caught because I get the "Ran out of
> > > time." message in my logs.  Any other ideas?
> >
> > > It is also interesting to note that for most exceptions I get a stack
> > > trace of the error.  In this case I am getting a Google branded page
> > > titled "502 Server Error" that says:
> >
> > > Google           Error
> >
> > >    Server Error
> > >    The server encountered a temporary error and could not complete
> > > your request.
> >
> > >    Please try again in 30 seconds.
> >
> > > What is this page?
> >
> > > On Feb 23, 10:53 am, Marzia Niccolai <ma...@google.com> wrote:
> > > > Hi Lenza,
> >
> > > > This works for me.  So I think it might be one of two things.
> >
> > > > First, are you importing the correct DeadlineExceededError?  You need
> to
> > > > make sure to have this import:
> > > > from google.appengine.runtime import DeadlineExceededError
> >
> > > > If you don't, sleeping for 30 seconds will raise this error, but it
> won't
> > > be
> > > > caught.
> >
> > > > The other thing is that you need to explicitly return your handler
> after
> > > you
> > > > print the error message or else the handler will keep executing, and
> that
> > > > may be the cause of the error (not returning the message quick
> enough).
> > >  So,
> > > > modify the exception with:
> > > > except DeadlineExceededError:
> > > >   logging.error("Ran out of time.")
> > > >   self.response.clear()
> > > >   self.response.set_status(500)
> > > >   self.response.out.write("This operation could not be completed in
> > > > time...")
> > > >   return
> >
> > > > -Marzia
> >
> > > > On Sun, Feb 22, 2009 at 9:55 PM, lenza <le...@aznel.trickip.net>
> wrote:
> >
> > > > > I am attempting to customize my application response to a
> > > > > DeadlineExceededError.  I am able to catch the exception, but my
> > > > > custom response is not getting through.  Instead I get the default
> > > > > "502 Server Server Error" page even after clearing the response and
> > > > > writing a custom one.  It seems as if the GAE is allowing time for
> > > > > cleanup, but ignoring anything written to the response object.  Is
> > > > > anyone doing this successfully?
> >
> > > > > More details...
> >
> > > > > The GAE documentation states that you can customize your
> applications
> > > > > response to a DeadlineExceededError with the following example code
> > > > > (seehttp://code.google.com/appengine/docs/python/runtime.html):
> >
> > > > > class MainPage(webapp.RequestHandler):
> > > > >  def get(self):
> > > > >    try:
> > > > >      # Do stuff...
> >
> > > > >    except DeadlineExceededError:
> > > > >      self.response.clear()
> > > > >      self.response.set_status(500)
> > > > >      self.response.out.write("This operation could not be completed
> > > > > in time...")
> >
> > > > > I have the following handler for "/test" on my App:
> >
> > > > > class TestPage(webapp.RequestHandle):
> > > > >    def get(self):
> > > > >        try:
> > > > >            sleeptime = int(self.request.get('sleep'))
> > > > >            if(sleeptime == 0):
> > > > >                logging.info("Programatically raising
> > > > > DeadlineExceededError")
> > > > >                raise DeadlineExceededError
> > > > >            else:
> > > > >                time.sleep(sleeptime)
> >
> > > > >        except DeadlineExceededError:
> > > > >            logging.error("Ran out of time.")
> > > > >            self.response.clear()
> > > > >            self.response.set_status(500)
> > > > >            self.response.out.write("This operation could not be
> > > > > completed in time...")
> >
> > > > >        logging.info("About to write normal result message")
> > > > >        self.response.out.write("This is the normal result message")
> >
> > > > > When I request "/test?sleep=30" I get the "502 Server Server Error"
> > > > > page and the in my logs:
> >
> > > > > (E) 02-22 09:31PM 05.652
> > > > > Ran out of time.
> > > > > (I) 02-22 09:31PM 05.653
> > > > > About to write normal result message
> >
> > > > > When I request "/test?sleep=0" I get the expected "This operation
> > > > > could not be completed in time..." message page.  Anyone know
> what's
> > > > > up with this?  Thanks for any help!
> >
> > > > >  -Lenza
> >
> >
> >
>

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