Yes, Alon's approach is the correct one. Note that if this is a synchronous
web request, App Engine will not scale up additional instances of your
application for load if the majority of your requests take longer than
800-1000ms and you won't get any of the benefits of running on GAE.

On Thu, Jul 29, 2010 at 1:13 AM, Alon Carmel <[email protected]> wrote:

> i had that exact problem.
> I resolved it by cutting down the amount of processing from one process to
> tons of them.
> You can break all the mini calculations into mini tasks running asyc side
> by side and get the work done at the same time or even shorter.
>
> If tasks isnt the solution for you try the mapper class, google for it. it
> lets you catch the HardDeadlineExceededError and save your current job
> location and restart again at the same position.
>
> quick tip from what i've learned. google gives you extra few seconds before
> they break your process with HardDeadlineExceededError, its not something
> static but its around 2-3 seconds, you can do alot when you hit that. do
> try: catch on that and test it.
>
> For large datastore uploads and so on use the bulkloader tool.
>
> -
> Cheers,
>
> def AlonCarmel(request)
>      import simplejson as json
>      contact = {}
>      contant['email'] = '[email protected]'
>      contact['twitter'] = '@aloncarmel'
>      contact['web'] = 'http://aloncarmel.me'
>      contact['phone'] = '+972-54-4860380'
>      return HttpResponse(json.dumps(contact))
>
> * If you received an unsolicited email from by mistake that wasn't of your
> matter please delete immediately. All E-mail sent from Alon Carmel is
> copyrighted to Alon Carmel 2008. Any details revealed in e-mails sent by
> Alon Carmel are owned by the Author only. Any attempt to duplicate or
> imitate any of the Content is prohibited under copyright law 2008.
>
>
>
> On Thu, Jul 29, 2010 at 8:29 AM, Lu <[email protected]> wrote:
>
>> Hi,
>>
>> My application throws 'HardDeadlineExceededError' exception and i know
>> the reason is that google only allows at most 30 secs to give
>> response. However, I am doing large amounts of processing on the
>> server side and I cannot manage to give feedback under 30 secs.
>>
>> Is there any mechanism that can throw some whatever stuff back to
>> client every 30 secs and meanwhile still do the processing on the
>> server side?
>>
>> Thanks,
>> Lu
>>
>> --
>> 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]<google-appengine%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-appengine?hl=en.
>>
>>
>  --
> 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]<google-appengine%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>



-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
Blog: http://googleappengine.blogspot.com
Twitter: http://twitter.com/app_engine
Reddit: http://www.reddit.com/r/appengine

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