I am getting <class 'google.appengine.runtime.DeadlineExceededError'>

On Dec 18, 12:12 pm, Marzia Niccolai <[email protected]> wrote:
> Hi Derrick,
>
> What DeadlineExceedError message are you getting, there are a few different
> deadlines you can run in to with App Engine.
>
> The most common would be the request deadline.  Any given request with App
> Engine must be completed within 10 seconds.  This is the runtime
> DeadlineExceededError
>
> Various APIs, like the datastore and URLFetch also have deadlines to ensure
> that those calls return within the overall request deadline. If you are
> running in to this deadline, you will get the
> apiproxy_errors.DeadlineExceededError.
>
> The problem shouldn't have anything to do with indexing, since simple
> queries indexes are automatically generated, there is no need specify them
> in the index.yaml (see this 
> article:http://code.google.com/appengine/articles/index_building.html)
>
> From your description I can imagine the problem is either you are requesting
> too much information from the datastore (running in to
> apiproxy_errors.DeadlineExceededError) in one request.  The amount of data
> you can return in a query will depend on the size and shape of your data,
> but you can test this by reducing the amount of data you query for in one
> call.
>
> The other issue I can see is that you are just taking too long to return the
> entire request.  This probably happens because it takes too long to process
> all of your results before the request deadline.
>
> Generally in such a case we'd suggest profiling your application which will
> indicate on which calls, and for how long, your app spends it's time.  Some
> good information on profiling can be found in our 
> FAQ:http://code.google.com/appengine/kb/commontasks.html#profiling
> Screencast:
> Optimizing Your App: Profiling and 
> Memcachehttp://www.youtube.com/watch?v=Zip1G6-NiMM
> And the Google I/O talk 'Building a Production Quality Application on Google
> App 
> Engine:http://sites.google.com/site/io/best-practices---building-a-productio...
>
> -Marzia
>
> On Thu, Dec 18, 2008 at 10:39 AM, Derrick <[email protected]> wrote:
>
> > I am consistently getting Deadline exceeded messages.  The problem is
> > that my individual requests are trivial: do a query or two to
> > BigTable, serialize the results, and return them.
>
> > So, what could be causing these messages.  How are deadlines actually
> > measured on app engine?
>
> > In my case, I am sending a number (10-50) of requests in parallel.
> > Each individual request retrieves a single row in a table plus one or
> > two rows in related tables.
>
> > I would guess that that CPU time usage is measured by interrupting the
> > thread serving a request at regular intervals.   The question is, how
> > does this interrupt ascertain whether a CPU deadline has been
> > exceeded.
>
> > I hypothesize that when the poller wakes up, it checks to see which
> > application has the cpu, and adds a tick to the count for that user.
> > If the same application is using the CPU as the previous  time the
> > poller awoke, then the poller checks to see if the tick count exceeds
> > the deadline. If so, it initiates a deadline exceeded message and
> > terminates the request.
>
> > If this is the algorithm, then it is very problematic for me. Will
> > someone from the Google App Engine team explain to us the workings of
> > the Deadline measuring algorithm so that we can adjust our application
> > for work on the platform.
>
> > Also, could the problem have anything to do with indexing?  Our
> > queries are dirt simple: a single query parameter, so we do not
> > generate indices for them manually.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to