[google-appengine] Are re-directs failing on App Engine?

2015-02-10 Thread Greg Tracy

I have an old app that has been re-directing traffic to another App Engine 
app for a couple of years. It just stopped working this morning. The 
re-directs return 404s. Going directly to the re-direct location works 
correctly, however. 

Is there any indication that there is an infrastructure problem? The 
re-direct appears to work from the logs in the original app.

Greg

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/802d4066-e6f3-4bb6-a249-c394369916c3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[google-appengine] Deploy times are painfully slow

2011-12-10 Thread Greg Tracy

The App Engine deploy times have been brutally slow over the last 12 hours. 
It's on the order of minutes - typically stalling right up front as well as 
after the Deployment successful state.

Greg

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/mIZFnCxmSWAJ.
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.



Re: [google-appengine] copying data from appengine datastore admin to my dev server. failed with status 401

2011-11-14 Thread Greg Tracy

It's probably worth adding one more detail. I can't access the Datastore 
Admin when I'm logged in with app's owner account (I think this is a known 
bug). I can only access the admin page from another developer account. 

That may be contributing to the access problem.

Thoughts?

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/gZzBV_kvEWUJ.
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.



Re: [google-appengine] copying data from appengine datastore admin to my dev server. failed with status 401

2011-11-14 Thread Greg Tracy

I found the issue I had been prefixing my app ID in the 
appengine_config.py file with 's~', which is the norm for bulkloader 
operations even though it isn't documented. It looks like that prefix isn't 
required in this case.


-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/9BEc539DTIsJ.
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.



Re: [google-appengine] copying data from appengine datastore admin to my dev server. failed with status 401

2011-11-13 Thread Greg Tracy

I'm seeing the same error between two production apps.

(1) Duplicate application
(2) Upload code to new application
(2) Enable datastore admin on new app
(3) Use copy to another app on the original app

This results in a 401...

Fetch to https://smsmybus-test.appspot.com/_ah/remote_api failed with 
status 401



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/ts2XKPovQvMJ.
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.



[google-appengine] Re: Outbound emails are getting marked as spam by SpamCop today

2010-12-04 Thread Greg Tracy

huh. not sure why my post didn't have a 'body' to it. i wrote like
Shakespeare :) but it disappeared!?

an example appid is 'apodemail'

it's worth pointing out that the problem only appeared for one day.

thanks!

greg




On Dec 2, 7:48 pm, Ikai Lan (Google) ikai.l+gro...@google.com
wrote:
 We can. Can you email me any more information about the application ID or
 email header information?

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

 On Tue, Nov 30, 2010 at 12:34 PM, Greg Tracy gtr...@gmail.com wrote:
  Multiple emails are getting bounced back today as marked as spam by
  SpamCop. The following is a sample description in one of those emails...

  Technical details of temporary failure:
  Google tried to deliver your message, but it was rejected by the recipient
  domain. We recommend contacting the other email provider for further
  information about the cause of this error. The error that the other server
  returned was: 554 554 5.7.1 Service unavailable; Client host
  [209.85.214.198] blocked using bl.spamcop.net; Blocked - see
 http://www.spamcop.net/bl.shtml?209.85.214.198(state 14).

  Can the App Engine team help facilitate the conversation with SpamCop
  and/or identify the spammy app that caused us to get put on the list?

  An app ID that is suffering from this now (although I'm sure there are
  others) apodemail

  Thanks.

  Greg

   --
  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-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2bunsubscr...@googlegroups.com
  .
  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 google-appeng...@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.



[google-appengine] Outbound emails are getting marked as spam by SpamCop today

2010-12-01 Thread Greg Tracy
Multiple emails are getting bounced back today as marked as spam by
SpamCop. The following is a sample description in one of those emails...


Technical details of temporary failure:
Google tried to deliver your message, but it was rejected by the
recipient domain. We recommend contacting the other email provider for
further information about the cause of this error. The error that the
other server returned was: 554 554 5.7.1 Service unavailable; Client
host [209.85.214.198] blocked using bl.spamcop.net; Blocked - see
http://www.spamcop.net/bl.shtml?209.85.214.198 (state 14).





Can the App Engine team help facilitate the conversation with SpamCop
and/or identify the spammy app that caused us to get put on the list?


An app ID that is suffering from this now (although I'm sure there are
others) apodemail




Thanks.


Greg

-- 
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-appeng...@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.



[google-appengine] Re: 500 Server Error on https://appengine.google.com

2010-11-14 Thread Greg Tracy
I too am getting 500 errors on app uploads...

-- 
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-appeng...@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.



[google-appengine] Re: seeking CPU billing clarification

2010-08-24 Thread Greg Tracy

Nick...

I'm using the wall clock time reported in the logs. This isn't
something I'm measuring myself. Isn't that the number right after the
return code (200)?

I'd love to find the documentation for the quota package. It's
something I've been looking for for a long time. I've never seen it
anywhere. :)

Thanks.





On Aug 13, 8:09 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Greg,





 On Thu, Aug 12, 2010 at 10:14 PM, Greg Tracy gtr...@gmail.com wrote:
  Here's an example of what I mean by those metrics being inversely
  proportional. Each of these tasks are doing the identical work and ran
  two minutes apart.

  08-12 01:42PM 11.860 /crawl/prefetch/03 200 6227ms 108803cpu_ms
  107111api_cpu_ms
  08-12 01:39PM 47.970 /crawl/prefetch/03 200 23846ms 25655cpu_ms 23770
  api_cpu_ms

  The following are my measurements using the quota package and they
  represent the end-to-end quota times inside my handler for these
  respective calls...

  08-12 01:42PM 18.056 total CPU cycles 5584, total API cycles 128534
  08-12 01:40PM 11.517 total CPU cycles 4132, total API cycles 28524

  From an analysis perspective, I have two challenges:

  1. I cannot reconcile the wall clock time for these slow requests

 How are you measuring the wall clock times?

  2. I cannot trust the metrics from the quota package since I can't see
  clarity about what they actually represent

 You're comparing milliseconds on the one hand to CPU megacycles on the
 other. The quota package contains functions to convert between the two.

 -Nick Johnson







  On Aug 12, 12:55 pm, Greg Tracy gtr...@gmail.com wrote:
   In fact, there may even be a bug... I see that the cpu_ms and
   api_cpu_ms numbers are inversely proportional to the wall clock times
   in the log.

   I can't make heads or tails from the existing reporting tools. Please
   save me from this insanity... :)

   On Aug 12, 12:27 pm, Greg Tracy gtr...@gmail.com wrote:

Excellent... Now how do I reconcile the times reported by the quota
package with the cpu_ms and api_cpu_ms times reported in the log?

They don't appear to be the same.

On Aug 12, 10:50 am, Nick Johnson (Google) nick.john...@google.com
wrote:

 Hi Greg,

 On Thu, Aug 12, 2010 at 4:36 PM, Greg Tracy gtr...@gmail.com
  wrote:

  Is the billable CPU Time quota a combination of the cpu_ms
  cycles
  and the api_cpu_ms cycles (as seen in the log file)?

 Yes.

  And if this is the case, can I assume that cpu_ms is measuring
  the
  time my code is executing - unblocked from remote calls?

 Yes.

 -Nick Johnson

  --
  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-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib
   e...@googlegroups.comgoogle-appengine%2Bunsubscrib
  e...@googlegroups.com
  .
  For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.

 --
 Nick Johnson, Developer Programs Engineer, App Engine Google Ireland
  Ltd. ::
 Registered in Dublin, Ireland, Registration Number: 368047
 Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration
  Number:
 368047

  --
  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-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib 
  e...@googlegroups.com
  .
  For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.

 --
 Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
 Registered in Dublin, Ireland, Registration Number: 368047
 Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
 368047

-- 
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-appeng...@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.



[google-appengine] Re: Hoping to understand the difference between CPU Time and Datastore CPU Time

2010-08-12 Thread Greg Tracy

Circling back on this thread to report on a couple of outcomes.

First, from a numbers standpoint...  I saw massive improvement when I
started doing batch puts.
- On average, a batch put of 472 relatively small entities takes 2,200
megacycles
- On average, a batch put of 363 entities takes 1,900 megacycles

Second, total CPU cycles for this job (of parsing a text file,
creating entities, and storing them) is a fraction of the API cycle
time. 3,000 v. 98,000 megacycles

Also, I did a write-up on my experience with this analysis process. If
you're interested, check it out and share your thoughts and
experiences.

http://www.gregtracy.com/adventures-in-performance-tuning-on-google-ap

Now... how do I manage the API time?!


On Jul 21, 2:26 am, Robert Kluin robert.kl...@gmail.com wrote:
 Hey Greg,
   Yeah puts are relatively expensive. Doing a batch put is about the only way 
 to reduceCPUtime, but of course that does basically nothing forAPItime.

   I always like to see benchmarks and related discussions. Look forward to 
 your results.

 Robert

 On Jul 20, 2010, at 13:51, Greg Tracy gtr...@gmail.com wrote:





  Thanks for the input, Robert.

  After more performance tuning, I've been able to eliminate the
  DeadlineExceeded errors. But I still have a hard time scaling the app
  since the put calls are so expensive. Over thousands of request
  handler calls, I quickly eat upCPUquota (free and paid).

  Going back to the original question, I'm still unsure how the quota
  math is working. I'm in the process of creating an-to-end performance
  model of these calls and will post the results.

  On Jul 15, 4:40 pm, Robert Kluin robert.kl...@gmail.com wrote:
  Greg,
    If you are having issues with long write times, there are two common
  options you may consider: smaller batches and transactional tasks.

    I have some code that does batch processing, I set it up to search
  for the maximum batch size that is currently succeeding.  Basically I
  slowly increase my batch size until I am getting deadline exceeded
  warnings then I drop back down adjust my 'growth factor' and repeat
  the processes.  This seems to keep my batches running very close to
  the upper limit without too many deadline exceeded exceptions.

    The other approach I have used it to offload some of the writes to
  other background tasks.  I write a group of entities, then send
  another handler another block of entities to write.  This has been
  working well for me too.

  Robert

  On Thu, Jul 15, 2010 at 5:22 PM, Greg Tracy gtr...@gmail.com wrote:

  I just started using AppStats for the first time - very nice package!
  However, it didn't reveal any glaring problems. But it did help
  validate my belief that I was using the memcache effectively.

  I've been using the 'quota' package to find costly operations, and I
  did discover a bug in my measurement. I was starting the clock in
  the wrong spot so I have found some new areas to optimize. Will work
  on that now... but I'm still not confident I can compensate for the
  long write times.

  Thanks!

  On Jul 14, 10:46 pm, Robert Kluin robert.kl...@gmail.com wrote:
  If you have not already, take a look at AppStats.  Perhaps you can
  find a way to improve performance.  You may also want to read through
  some of the datastore articles in the docs to be sure you are
  minimizing resource usage.

  Robert

  On Wed, Jul 14, 2010 at 7:24 PM, Greg Tracy gtr...@gmail.com wrote:

  Not for me... I set a budget and immediately started paying.

  Not thrilled about this and may need to start a new thread asking for
  advice on datastore contention...

  Thanks.

  On Jul 14, 5:57 pm, Nate Bauernfeind nate.bauernfe...@gmail.com
  wrote:
  I have been.

  On Wed, Jul 14, 2010 at 5:37 PM, Greg Tracy gtr...@gmail.com wrote:
  Does this imply that I can go over theCPUTime quota and not pay for
  it?

  On Jul 14, 5:26 pm, Nate Bauernfeind nate.bauernfe...@gmail.com
  wrote:
  The DataStoreCPUtime is included in totalCPUtime. To take advantage
  of
  free datastorecputime you need to increase yourcpu-usage quota. 
  When
  I
  loaded a bunch of initial test data into the datastore I got tons of
  deadline exceeded errors, though I assumed it was cause I was trying 
  to
  stuff a lot of data in there all at once.

  Nate

  On Wed, Jul 14, 2010 at 5:24 PM, Greg Tracy gtr...@gmail.com wrote:

  I've been adding some new datastore-intensive features to an app and
  am blowing through the CPUTime quota. While my understanding is
  that the DatastoreCPUTime quotas have been lifted while the App
  Engine team continues to work on the performance, I can't figure out
  why these are mutually exclusive metrics in my app.

  When I measure thecpucyclesbeing consumed in the new features, it
  is almost exclusively in the db.put() call. In fact, 50% of the 
  time,
  I'm getting DeadlineExceeded errors before the put call even 
  returns.

  Is the DatastoreCPUTime also counted in the CPUTime? If so

[google-appengine] seeking CPU billing clarification

2010-08-12 Thread Greg Tracy

Is the billable CPU Time quota a combination of the cpu_ms cycles
and the api_cpu_ms cycles (as seen in the log file)?

And if this is the case, can I assume that cpu_ms is measuring the
time my code is executing - unblocked from remote calls?

-- 
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-appeng...@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.



[google-appengine] Re: SMS

2010-08-12 Thread Greg Tracy

I would recommend using Twilio's SMS API. I've built multiple GAE apps
with Twilio integration.

They even have Python and Java libraries to make integration easier.

Cost is $.03 for each message (inbound as well as outbound).



On Aug 12, 10:14 am, Nikita Srivastava nikisri...@gmail.com wrote:
 I am not sure how this works in the rest of the world, but in the
 subcontinent, it's the user who pays. Sometimes the services charge a very
 nominal monthly charge, but usually there is no per SMS charge for the app
 developer. I think it works similarly elsewhere too.

 On Thu, Aug 12, 2010 at 6:07 PM, Massimiliano 



 massimiliano.pietr...@gmail.com wrote:
  I can't understand, can I receive sms for free with this service?

  Regards

  Max

  2010/8/12 Martin Webb spydre...@yahoo.co.uk

  All of the reputable sms gateways do two way messaging - you will need to
  set up an account at saywww.clickatel.com. their api will forward all
  messages to a url say yourapp/sms/inbox using a post. All you need to do is
  set-up a url handler to read the form post in the traditional way and this
  will return the message etc. Very simple.

  Regards

  *Martin Webb*

  The information contained in this email is confidential and may contain
  proprietary information. It is meant solely for the intended recipient.
  Access to this email by anyone else is unauthorised. If you are not the
  intended recipient, any disclosure, copying, distribution or any action
  taken or omitted in reliance on this, is prohibited and may be unlawful. No
  liability or responsibility is accepted if information or data is, for
  whatever reason corrupted or does not reach its intended recipient. No
  warranty is given that this email is free of viruses. The views expressed 
  in
  this email are, unless otherwise stated, those of the author

  --
  *From:* Massimiliano massimiliano.pietr...@gmail.com
  *To:* google-appengine@googlegroups.com
  *Sent:* Thu, 12 August, 2010 11:23:50
  *Subject:* [google-appengine] SMS

  Dear All,
  is there a way to receive a SMS in a App? I need my clients to send me a
  info by their mobile and forward it to an email address (or a mobile).
  (Can you inform me if there is method to send sms too?)

  Regards

  Massimiliano

  --

  My email: massimiliano.pietr...@gmail.com
  My Google Wave: massimiliano.pietr...@googlewave.com

  --
  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-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib
   e...@googlegroups.com
  .
  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 google-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib
   e...@googlegroups.com
  .
  For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.

  --

  My email: massimiliano.pietr...@gmail.com
  My Google Wave: massimiliano.pietr...@googlewave.com

  --
  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-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib 
  e...@googlegroups.com
  .
  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 google-appeng...@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.



[google-appengine] Re: seeking CPU billing clarification

2010-08-12 Thread Greg Tracy

Excellent... Now how do I reconcile the times reported by the quota
package with the cpu_ms and api_cpu_ms times reported in the log?

They don't appear to be the same.



On Aug 12, 10:50 am, Nick Johnson (Google) nick.john...@google.com
wrote:
 Hi Greg,

 On Thu, Aug 12, 2010 at 4:36 PM, Greg Tracy gtr...@gmail.com wrote:

  Is the billable CPU Time quota a combination of the cpu_ms cycles
  and the api_cpu_ms cycles (as seen in the log file)?

 Yes.



  And if this is the case, can I assume that cpu_ms is measuring the
  time my code is executing - unblocked from remote calls?

 Yes.

 -Nick Johnson



  --
  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-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib 
  e...@googlegroups.com
  .
  For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.

 --
 Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
 Registered in Dublin, Ireland, Registration Number: 368047
 Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
 368047

-- 
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-appeng...@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.



[google-appengine] Re: seeking CPU billing clarification

2010-08-12 Thread Greg Tracy

In fact, there may even be a bug... I see that the cpu_ms and
api_cpu_ms numbers are inversely proportional to the wall clock times
in the log.

I can't make heads or tails from the existing reporting tools. Please
save me from this insanity... :)



On Aug 12, 12:27 pm, Greg Tracy gtr...@gmail.com wrote:
 Excellent... Now how do I reconcile the times reported by the quota
 package with the cpu_ms and api_cpu_ms times reported in the log?

 They don't appear to be the same.

 On Aug 12, 10:50 am, Nick Johnson (Google) nick.john...@google.com
 wrote:



  Hi Greg,

  On Thu, Aug 12, 2010 at 4:36 PM, Greg Tracy gtr...@gmail.com wrote:

   Is the billable CPU Time quota a combination of the cpu_ms cycles
   and the api_cpu_ms cycles (as seen in the log file)?

  Yes.

   And if this is the case, can I assume that cpu_ms is measuring the
   time my code is executing - unblocked from remote calls?

  Yes.

  -Nick Johnson

   --
   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-appeng...@googlegroups.com.
   To unsubscribe from this group, send email to
   google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib
e...@googlegroups.com
   .
   For more options, visit this group at
  http://groups.google.com/group/google-appengine?hl=en.

  --
  Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
  Registered in Dublin, Ireland, Registration Number: 368047
  Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
  368047

-- 
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-appeng...@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.



[google-appengine] Re: seeking CPU billing clarification

2010-08-12 Thread Greg Tracy
Here's an example of what I mean by those metrics being inversely
proportional. Each of these tasks are doing the identical work and ran
two minutes apart.

08-12 01:42PM 11.860 /crawl/prefetch/03 200 6227ms 108803cpu_ms
107111api_cpu_ms
08-12 01:39PM 47.970 /crawl/prefetch/03 200 23846ms 25655cpu_ms 23770
api_cpu_ms

The following are my measurements using the quota package and they
represent the end-to-end quota times inside my handler for these
respective calls...

08-12 01:42PM 18.056 total CPU cycles 5584, total API cycles 128534
08-12 01:40PM 11.517 total CPU cycles 4132, total API cycles 28524

From an analysis perspective, I have two challenges:

1. I cannot reconcile the wall clock time for these slow requests
2. I cannot trust the metrics from the quota package since I can't see
clarity about what they actually represent



On Aug 12, 12:55 pm, Greg Tracy gtr...@gmail.com wrote:
 In fact, there may even be a bug... I see that the cpu_ms and
 api_cpu_ms numbers are inversely proportional to the wall clock times
 in the log.

 I can't make heads or tails from the existing reporting tools. Please
 save me from this insanity... :)

 On Aug 12, 12:27 pm, Greg Tracy gtr...@gmail.com wrote:



  Excellent... Now how do I reconcile the times reported by the quota
  package with the cpu_ms and api_cpu_ms times reported in the log?

  They don't appear to be the same.

  On Aug 12, 10:50 am, Nick Johnson (Google) nick.john...@google.com
  wrote:

   Hi Greg,

   On Thu, Aug 12, 2010 at 4:36 PM, Greg Tracy gtr...@gmail.com wrote:

Is the billable CPU Time quota a combination of the cpu_ms cycles
and the api_cpu_ms cycles (as seen in the log file)?

   Yes.

And if this is the case, can I assume that cpu_ms is measuring the
time my code is executing - unblocked from remote calls?

   Yes.

   -Nick Johnson

--
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-appeng...@googlegroups.com.
To unsubscribe from this group, send email to
google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib
 e...@googlegroups.com
.
For more options, visit this group at
   http://groups.google.com/group/google-appengine?hl=en.

   --
   Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. 
   ::
   Registered in Dublin, Ireland, Registration Number: 368047
   Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
   368047

-- 
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-appeng...@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.



[google-appengine] CPU Time measurements

2010-07-22 Thread Greg Tracy

I'd like to better understand the CPU time measurements in app engine.
As I've been profiling an app, I've started to see inconsistencies in
the various metrics. I'm striving to improve every number that's in my
control, but still lack a fundamental understanding of what's being
measured, the difference between various CPU times and how they are
reflected in the quotas.

For example, I expected to be able to measure cpu time and api time
(via the quota package) at the end of a request handler and draw some
conclusions about the cpu_ms and api_cpu_ms times reported in the
admin log for each handler request. Specifically, I expected that
ratio of the quota measurements and the log time be consistent for
every call, but I haven't seen that for the cpu numbers.

The experiment went as follows...

class MainHandler(webapp.RequestHandler) {

  def get(self):

  try:
  # do all the expensive magic...
  finally:
end_api = quota.get_request_api_cpu_usage()
end_cpu = quota.get_request_cpu_usage()
logging.warning(total API cycles %s, total CPU cycles %s
% (end_api, end_cpu))

  return

When I check the ratio of these metrics with those reported in the
admin log over mutliple calls, it's perfectly stable for the API
numbers at 1.2.

When I check the ratio for the CPU metric, it's much more eratic...

0.111
0.131
0.124

0.050
0.028
0.023
0.024
0.112

0.048
0.052
0.147
0.057
0.048
0.040
0.138

0.024
0.027
0.030
0.023
0.036
0.025

Why is that?

How can I get more granularity with the CPU usage statistics? Can I
measure the quotas through the handler and guarantee that I'm measure
just a datastore CPU time vs. non-datastore CPU time?

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-appeng...@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.



[google-appengine] Re: CPU Time measurements

2010-07-22 Thread Greg Tracy

It's worth pointing out the two other peculiarities...

1. When a DeadlineExceeded exception is thrown, the API usage is
reported as zero and the CPU usage is very low - lower than other
requests that don't hit the deadline.

2. When a DeadlineExceeded exception is thrown, the cpu_ms time
reported in the log are also oddly low even though the wall clock time
is at 30 secs.

Just trying to understand what's being measured and where all my time
is going...

Thanks!



On Jul 22, 10:17 pm, Greg Tracy gtr...@gmail.com wrote:
 I'd like to better understand the CPU time measurements in app engine.
 As I've been profiling an app, I've started to see inconsistencies in
 the various metrics. I'm striving to improve every number that's in my
 control, but still lack a fundamental understanding of what's being
 measured, the difference between various CPU times and how they are
 reflected in the quotas.

 For example, I expected to be able to measure cpu time and api time
 (via the quota package) at the end of a request handler and draw some
 conclusions about the cpu_ms and api_cpu_ms times reported in the
 admin log for each handler request. Specifically, I expected that
 ratio of the quota measurements and the log time be consistent for
 every call, but I haven't seen that for the cpu numbers.

 The experiment went as follows...

 class MainHandler(webapp.RequestHandler) {

   def get(self):

       try:
           # do all the expensive magic...
       finally:
             end_api = quota.get_request_api_cpu_usage()
             end_cpu = quota.get_request_cpu_usage()
             logging.warning(total API cycles %s, total CPU cycles %s
 % (end_api, end_cpu))

       return

 When I check the ratio of these metrics with those reported in the
 admin log over mutliple calls, it's perfectly stable for the API
 numbers at 1.2.

 When I check the ratio for the CPU metric, it's much more eratic...

 0.111
 0.131
 0.124

 0.050
 0.028
 0.023
 0.024
 0.112

 0.048
 0.052
 0.147
 0.057
 0.048
 0.040
 0.138

 0.024
 0.027
 0.030
 0.023
 0.036
 0.025

 Why is that?

 How can I get more granularity with the CPU usage statistics? Can I
 measure the quotas through the handler and guarantee that I'm measure
 just a datastore CPU time vs. non-datastore CPU time?

 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-appeng...@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.



[google-appengine] Re: Hoping to understand the difference between CPU Time and Datastore CPU Time

2010-07-20 Thread Greg Tracy

Thanks for the input, Robert.

After more performance tuning, I've been able to eliminate the
DeadlineExceeded errors. But I still have a hard time scaling the app
since the put calls are so expensive. Over thousands of request
handler calls, I quickly eat up CPU quota (free and paid).

Going back to the original question, I'm still unsure how the quota
math is working. I'm in the process of creating an-to-end performance
model of these calls and will post the results.



On Jul 15, 4:40 pm, Robert Kluin robert.kl...@gmail.com wrote:
 Greg,
   If you are having issues with long write times, there are two common
 options you may consider: smaller batches and transactional tasks.

   I have some code that does batch processing, I set it up to search
 for the maximum batch size that is currently succeeding.  Basically I
 slowly increase my batch size until I am getting deadline exceeded
 warnings then I drop back down adjust my 'growth factor' and repeat
 the processes.  This seems to keep my batches running very close to
 the upper limit without too many deadline exceeded exceptions.

   The other approach I have used it to offload some of the writes to
 other background tasks.  I write a group of entities, then send
 another handler another block of entities to write.  This has been
 working well for me too.

 Robert



 On Thu, Jul 15, 2010 at 5:22 PM, Greg Tracy gtr...@gmail.com wrote:

  I just started using AppStats for the first time - very nice package!
  However, it didn't reveal any glaring problems. But it did help
  validate my belief that I was using the memcache effectively.

  I've been using the 'quota' package to find costly operations, and I
  did discover a bug in my measurement. I was starting the clock in
  the wrong spot so I have found some new areas to optimize. Will work
  on that now... but I'm still not confident I can compensate for the
  long write times.

  Thanks!

  On Jul 14, 10:46 pm, Robert Kluin robert.kl...@gmail.com wrote:
  If you have not already, take a look at AppStats.  Perhaps you can
  find a way to improve performance.  You may also want to read through
  some of the datastore articles in the docs to be sure you are
  minimizing resource usage.

  Robert

  On Wed, Jul 14, 2010 at 7:24 PM, Greg Tracy gtr...@gmail.com wrote:

   Not for me... I set a budget and immediately started paying.

   Not thrilled about this and may need to start a new thread asking for
   advice on datastore contention...

   Thanks.

   On Jul 14, 5:57 pm, Nate Bauernfeind nate.bauernfe...@gmail.com
   wrote:
   I have been.

   On Wed, Jul 14, 2010 at 5:37 PM, Greg Tracy gtr...@gmail.com wrote:
Does this imply that I can go over the CPU Time quota and not pay for
it?

On Jul 14, 5:26 pm, Nate Bauernfeind nate.bauernfe...@gmail.com
wrote:
 The DataStore CPU time is included in total CPU time. To take 
 advantage
of
 free datastore cpu time you need to increase your cpu-usage 
 quota. When
I
 loaded a bunch of initial test data into the datastore I got tons of
 deadline exceeded errors, though I assumed it was cause I was 
 trying to
 stuff a lot of data in there all at once.

 Nate

 On Wed, Jul 14, 2010 at 5:24 PM, Greg Tracy gtr...@gmail.com 
 wrote:

  I've been adding some new datastore-intensive features to an app 
  and
  am blowing through the CPU Time quota. While my understanding is
  that the Datastore CPU Time quotas have been lifted while the 
  App
  Engine team continues to work on the performance, I can't figure 
  out
  why these are mutually exclusive metrics in my app.

  When I measure the cpu cycles being consumed in the new features, 
  it
  is almost exclusively in the db.put() call. In fact, 50% of the 
  time,
  I'm getting DeadlineExceeded errors before the put call even 
  returns.

  Is the Datastore CPU Time also counted in the CPU Time? If 
  so, are
  there plans to extend the quota limits there as well?

  I'm interested in finding some resources that track performance
  metrics on App Engine. I don't know what to expect in terms of
  performance when I store, for example, 400 entities in the data 
  store.
  Are there resources where folks are contributing their metrics for
  others to see?

  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.comgoogle-appengine%2Bunsubscrib
   e...@googlegroups.comgoogle-appengine%2Bunsubscrib
e...@googlegroups.com
  .
  For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.

--
You received this message because you

[google-appengine] Re: Analytics via log file?

2010-07-15 Thread Greg Tracy

When I do analytics like this, I use the task queue to generate
records in the datastore. Then I create the special admin handlers to
render the analysis tools inside the browser. It's far easier to parse
the data that way and you can access the results in real-time from
anywhere.

I'm not generating millions of records per day, but I have found this
to be effective for my projects.



On Jul 15, 10:20 am, Mark mar...@gmail.com wrote:
 Hi,

 I was looking at the discussion about analytics here:

 http://groups.google.com/group/google-appengine/browse_thread/thread/...

 I'm in the same situation - there's a few pieces of data that I'd like
 to track, and storing them in the datastore is going to introduce
 extra complexity to my app, eat up more of the 100 quota index limit,
 etc.

 I can just make specialized log statements for the events I'm
 interested in, then download the log once a day and parse it to do my
 analysis. I just wonder two things:

   1) Will emitting more log statements slow down my app? For example,
 I log a statement everytime I serve a particular page. If millions of
 people are viewing the page, will all those log statements be a
 significant drain?
   2) Scalability - downloading the log once a day and parsing it - is
 anyone doing this already and can speak on their experience? I'm a bit
 worried that if the daily log gets really big, trying to download and
 parse it each day might become unrealistic.

 I'm not sure if there are any other alternatives?

 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-appeng...@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.



[google-appengine] Re: Hoping to understand the difference between CPU Time and Datastore CPU Time

2010-07-15 Thread Greg Tracy

I just started using AppStats for the first time - very nice package!
However, it didn't reveal any glaring problems. But it did help
validate my belief that I was using the memcache effectively.

I've been using the 'quota' package to find costly operations, and I
did discover a bug in my measurement. I was starting the clock in
the wrong spot so I have found some new areas to optimize. Will work
on that now... but I'm still not confident I can compensate for the
long write times.

Thanks!


On Jul 14, 10:46 pm, Robert Kluin robert.kl...@gmail.com wrote:
 If you have not already, take a look at AppStats.  Perhaps you can
 find a way to improve performance.  You may also want to read through
 some of the datastore articles in the docs to be sure you are
 minimizing resource usage.

 Robert



 On Wed, Jul 14, 2010 at 7:24 PM, Greg Tracy gtr...@gmail.com wrote:

  Not for me... I set a budget and immediately started paying.

  Not thrilled about this and may need to start a new thread asking for
  advice on datastore contention...

  Thanks.

  On Jul 14, 5:57 pm, Nate Bauernfeind nate.bauernfe...@gmail.com
  wrote:
  I have been.

  On Wed, Jul 14, 2010 at 5:37 PM, Greg Tracy gtr...@gmail.com wrote:
   Does this imply that I can go over the CPU Time quota and not pay for
   it?

   On Jul 14, 5:26 pm, Nate Bauernfeind nate.bauernfe...@gmail.com
   wrote:
The DataStore CPU time is included in total CPU time. To take advantage
   of
free datastore cpu time you need to increase your cpu-usage quota. 
When
   I
loaded a bunch of initial test data into the datastore I got tons of
deadline exceeded errors, though I assumed it was cause I was trying to
stuff a lot of data in there all at once.

Nate

On Wed, Jul 14, 2010 at 5:24 PM, Greg Tracy gtr...@gmail.com wrote:

 I've been adding some new datastore-intensive features to an app and
 am blowing through the CPU Time quota. While my understanding is
 that the Datastore CPU Time quotas have been lifted while the App
 Engine team continues to work on the performance, I can't figure out
 why these are mutually exclusive metrics in my app.

 When I measure the cpu cycles being consumed in the new features, it
 is almost exclusively in the db.put() call. In fact, 50% of the time,
 I'm getting DeadlineExceeded errors before the put call even returns.

 Is the Datastore CPU Time also counted in the CPU Time? If so, 
 are
 there plans to extend the quota limits there as well?

 I'm interested in finding some resources that track performance
 metrics on App Engine. I don't know what to expect in terms of
 performance when I store, for example, 400 entities in the data 
 store.
 Are there resources where folks are contributing their metrics for
 others to see?

 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.comgoogle-appengine%2Bunsubscrib
  e...@googlegroups.comgoogle-appengine%2Bunsubscrib
   e...@googlegroups.com
 .
 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 google-appeng...@googlegroups.com.
   To unsubscribe from this group, send email to
   google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib
e...@googlegroups.com
   .
   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 google-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to 
  google-appengine+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://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 google-appeng...@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.



[google-appengine] Hoping to understand the difference between CPU Time and Datastore CPU Time

2010-07-14 Thread Greg Tracy

I've been adding some new datastore-intensive features to an app and
am blowing through the CPU Time quota. While my understanding is
that the Datastore CPU Time quotas have been lifted while the App
Engine team continues to work on the performance, I can't figure out
why these are mutually exclusive metrics in my app.

When I measure the cpu cycles being consumed in the new features, it
is almost exclusively in the db.put() call. In fact, 50% of the time,
I'm getting DeadlineExceeded errors before the put call even returns.

Is the Datastore CPU Time also counted in the CPU Time? If so, are
there plans to extend the quota limits there as well?

I'm interested in finding some resources that track performance
metrics on App Engine. I don't know what to expect in terms of
performance when I store, for example, 400 entities in the data store.
Are there resources where folks are contributing their metrics for
others to see?

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-appeng...@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.



[google-appengine] Re: Hoping to understand the difference between CPU Time and Datastore CPU Time

2010-07-14 Thread Greg Tracy
Does this imply that I can go over the CPU Time quota and not pay for
it?

On Jul 14, 5:26 pm, Nate Bauernfeind nate.bauernfe...@gmail.com
wrote:
 The DataStore CPU time is included in total CPU time. To take advantage of
 free datastore cpu time you need to increase your cpu-usage quota. When I
 loaded a bunch of initial test data into the datastore I got tons of
 deadline exceeded errors, though I assumed it was cause I was trying to
 stuff a lot of data in there all at once.

 Nate



 On Wed, Jul 14, 2010 at 5:24 PM, Greg Tracy gtr...@gmail.com wrote:

  I've been adding some new datastore-intensive features to an app and
  am blowing through the CPU Time quota. While my understanding is
  that the Datastore CPU Time quotas have been lifted while the App
  Engine team continues to work on the performance, I can't figure out
  why these are mutually exclusive metrics in my app.

  When I measure the cpu cycles being consumed in the new features, it
  is almost exclusively in the db.put() call. In fact, 50% of the time,
  I'm getting DeadlineExceeded errors before the put call even returns.

  Is the Datastore CPU Time also counted in the CPU Time? If so, are
  there plans to extend the quota limits there as well?

  I'm interested in finding some resources that track performance
  metrics on App Engine. I don't know what to expect in terms of
  performance when I store, for example, 400 entities in the data store.
  Are there resources where folks are contributing their metrics for
  others to see?

  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-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib 
  e...@googlegroups.com
  .
  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 google-appeng...@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.



[google-appengine] Re: Hoping to understand the difference between CPU Time and Datastore CPU Time

2010-07-14 Thread Greg Tracy

Not for me... I set a budget and immediately started paying.

Not thrilled about this and may need to start a new thread asking for
advice on datastore contention...

Thanks.



On Jul 14, 5:57 pm, Nate Bauernfeind nate.bauernfe...@gmail.com
wrote:
 I have been.



 On Wed, Jul 14, 2010 at 5:37 PM, Greg Tracy gtr...@gmail.com wrote:
  Does this imply that I can go over the CPU Time quota and not pay for
  it?

  On Jul 14, 5:26 pm, Nate Bauernfeind nate.bauernfe...@gmail.com
  wrote:
   The DataStore CPU time is included in total CPU time. To take advantage
  of
   free datastore cpu time you need to increase your cpu-usage quota. When
  I
   loaded a bunch of initial test data into the datastore I got tons of
   deadline exceeded errors, though I assumed it was cause I was trying to
   stuff a lot of data in there all at once.

   Nate

   On Wed, Jul 14, 2010 at 5:24 PM, Greg Tracy gtr...@gmail.com wrote:

I've been adding some new datastore-intensive features to an app and
am blowing through the CPU Time quota. While my understanding is
that the Datastore CPU Time quotas have been lifted while the App
Engine team continues to work on the performance, I can't figure out
why these are mutually exclusive metrics in my app.

When I measure the cpu cycles being consumed in the new features, it
is almost exclusively in the db.put() call. In fact, 50% of the time,
I'm getting DeadlineExceeded errors before the put call even returns.

Is the Datastore CPU Time also counted in the CPU Time? If so, are
there plans to extend the quota limits there as well?

I'm interested in finding some resources that track performance
metrics on App Engine. I don't know what to expect in terms of
performance when I store, for example, 400 entities in the data store.
Are there resources where folks are contributing their metrics for
others to see?

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.comgoogle-appengine%2Bunsubscrib
 e...@googlegroups.comgoogle-appengine%2Bunsubscrib
  e...@googlegroups.com
.
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 google-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2Bunsubscrib 
  e...@googlegroups.com
  .
  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 google-appeng...@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.



[google-appengine] Re: Tasks Queues still manual in 1.3.4?

2010-06-01 Thread Greg Tracy

I'm using the App Engine Launcher on XP and it works for me.


On May 31, 7:24 pm, hawkett hawk...@gmail.com wrote:
 Slight possibility - looks like both Ryan and Nick are using the app
 engine launcher, which is a mac only application that contains a copy
 of the SDK. Are any of the people reporting it working using the app
 engine launcher? I'm on mac, but is has been a while since I actually
 ran my apps with the launcher - choosing instead to download to
 download the linux SDK.  You guys could try that and see if you notice
 any improvement.  Perhaps the SDK inside the launcher isn't quite
 right. Unlikely, but something to test out.  Cheers,

 Colin

 On May 29, 6:49 am, Nick npd...@gmail.com wrote:



  I'm in California (7-8 hours behind UTC) and also have Ryan's problem.
  Tasks don't run automatically on the dev server, which is very
  frustrating and as Ryan reported I still see the message Tasks will
  not run automatically in the SDK console.

  I'm using Python and the GoogleAppEngineLauncher 1.3.4.794, SDK
  version: release: 1.3.4, timestamp: 1272392128, api_versions: ['1'].

  Any thoughts on why some of us aren't seeing this new feature?

  Thanks,
  Nick

  On May 28, 8:50 am, Tim Hoffman zutes...@gmail.com wrote:

   So am I (8 hours) and auto task running works fine,

   Rgds

   T

   On May 28, 10:32 pm, djidjadji djidja...@gmail.com wrote:

I'm ahead a few hours of UTC and for me the automatic task queue works.
I have not modified the 1.3.4 SDK code.

2010/5/27 Kenneth goo...@kmacleod.ie:

 The problem with the task not running automatically is because of this
 bug:

http://code.google.com/p/googleappengine/issues/detail?id=2508

 Basically it works fine in Mountain View, California, but not for
 anyone who is ahead of UTC since the eta will be in the future.

 Solution as described in the bug report is replace line 414 in
 taskqueue.py:

 def __determine_eta(eta=None, countdown=None,
 now=datetime.datetime.now)
 with
 def __determine_eta(eta=None, countdown=None,
 now=datetime.datetime.utcnow)

 Hope that helps.

 On May 22, 9:10 pm, andy stevko andy.ste...@gmail.com wrote:
 I see auto run tasks all the time in my dev environment. I thought 
 the docs
 just were not up to date. I'm using the latest eclipse plugin.

 On May 22, 2010 12:42 PM, Ryan Weber ryan.we...@gmail.com wrote:

 Strange, because that's not what is happening for me. I have to still
 manually run them. Can anyone think of any reason why mine would 
 still be
 manual? When I saw all the features of the 1.3.4 release, I was most 
 looking
 forward to the auto-run of tasks, so I wouldn't have to click run 
 every
 time, but alas, no luck yet...

-- 
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-appeng...@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.



[google-appengine] Limiting Cron jobs by time of day

2010-04-18 Thread Greg Tracy

Is there a syntax for cron jobs that limits when they run?

For example, can I specify that a cron job run every every hour
between 9am and 9pm?

schedule: every 1 hour [except 10pm-8am]

Is there a different, verbose syntax that lists every time it runs
rather than using some kind of exception clause?

-- 
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-appeng...@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.



[google-appengine] Re: Outbound email failure today

2010-04-18 Thread Greg Tracy
This is still an issue for me...



On Apr 17, 7:26 am, toh momot...@gmail.com wrote:
 Not a help, but I just wanted to say that I am having the same
 issue...



 Greg Tracy greg.tr...@att.net wrote:
  I had the same problem again today...

  There haven't been any code changes, and not all emails are failing.

  Any help is appreciated.

  Greg

  On Apr 15, 4:28 pm, Greg Tracy greg.tr...@att.net wrote:

   Curious to know if there was a problem with the GAEemailserver this
   afternoon. 88 (of roughly 675) emails sent out by my app today bounced
   back. The bounced emails all had messages with text similar to the
   following...

   The error that the other server returned was: 501 501
   3t0fhswohbkkpanp.cajlhjcc.wncujaburwdbrc@1rf-
   H_fBpZ96xCRX.apphosting.bounces.google.com: malformed address:
   _fBpZ96xCRX.apphosting.bounces.g may not follow
   3t0fhswohbkkpanp.cajlhjcc.wncujaburwdbrc@1rf-h (state 13).

   Thoughts?

  --
  You received this message because you are subscribed to the Google Groups 
  Google App Engine group.
  To post to this group, sendemailto google-appeng...@googlegroups.com.
  To unsubscribe from this group, sendemailto 
  google-appengine+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://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, sendemailto google-appeng...@googlegroups.com.
 To unsubscribe from this group, sendemailto 
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group 
 athttp://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 google-appeng...@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.



[google-appengine] Re: Outbound email failure today

2010-04-16 Thread Greg Tracy

I had the same problem again today...

There haven't been any code changes, and not all emails are failing.

Any help is appreciated.

Greg




On Apr 15, 4:28 pm, Greg Tracy greg.tr...@att.net wrote:
 Curious to know if there was a problem with the GAE email server this
 afternoon. 88 (of roughly 675) emails sent out by my app today bounced
 back. The bounced emails all had messages with text similar to the
 following...

 The error that the other server returned was: 501 501
 3t0fhswohbkkpanp.cajlhjcc.wncujaburwdbrc@1rf-
 H_fBpZ96xCRX.apphosting.bounces.google.com: malformed address:
 _fBpZ96xCRX.apphosting.bounces.g may not follow
 3t0fhswohbkkpanp.cajlhjcc.wncujaburwdbrc@1rf-h (state 13).

 Thoughts?

-- 
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-appeng...@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.



[google-appengine] Outbound email failure today

2010-04-15 Thread Greg Tracy

Curious to know if there was a problem with the GAE email server this
afternoon. 88 (of roughly 675) emails sent out by my app today bounced
back. The bounced emails all had messages with text similar to the
following...

The error that the other server returned was: 501 501
3t0fhswohbkkpanp.cajlhjcc.wncujaburwdbrc@1rf-
H_fBpZ96xCRX.apphosting.bounces.google.com: malformed address:
_fBpZ96xCRX.apphosting.bounces.g may not follow
3t0fhswohbkkpanp.cajlhjcc.wncujaburwdbrc@1rf-h (state 13).


Thoughts?

-- 
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-appeng...@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.



[google-appengine] Accessing user account information through the users object

2010-03-19 Thread Greg Tracy

Why is that the users object returned for the logged in user isn't
being populated with ALL of the details for that's user's account?

Specifically, there is odd behavior for the nickname. Gmail accounts
seem to pull out the name in front of '@gmail.com' as the nickname,
but other logins - that are valid Google accounts - will use the
entire email rather than the real name of that user.

Why isn't the built-in API providing better access to the actual
account data?

Am I required to implement the Google Account API (http://
code.google.com/apis/accounts/) to get the real information about the
user?

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-appeng...@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.



[google-appengine] Re: Accessing user account information through the users object

2010-03-19 Thread Greg Tracy

What I'd like access to is everything inside the account profile.
There is a real name for google acounts. Even non-gmail google
accounts. I'm surprised the users object doesn't give me access to
this so I was wondering what others were doing.

Do I need to implement the Google Account API? This seems like it
would be a common problem from app engine developers that are
leveraging the google accounts infrastructure for their apps.



On Mar 19, 10:37 am, 风笑雪 kea...@gmail.com wrote:
 Nickname is the name of a Google account.
 When you login to any Google services with a Google account, you can
 type the entire email or just the user name of your Gmail account.
 It's a litter convenient for the Gmail user, so dose in GAE.

 If you really want the email address, you can call email() method instead.

 --
 keakon

 2010/3/19 Greg Tracy g...@gregtracy.com:



  Why is that the users object returned for the logged in user isn't
  being populated with ALL of the details for that's user's account?

  Specifically, there is odd behavior for the nickname. Gmail accounts
  seem to pull out the name in front of '@gmail.com' as the nickname,
  but other logins - that are valid Google accounts - will use the
  entire email rather than the real name of that user.

  Why isn't the built-in API providing better access to the actual
  account data?

  Am I required to implement the Google Account API (http://
  code.google.com/apis/accounts/) to get the real information about the
  user?

  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-appeng...@googlegroups.com.
  To unsubscribe from this group, send email to 
  google-appengine+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://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 google-appeng...@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.



[google-appengine] Re: unable to update my app (authentication issue)

2010-03-18 Thread Greg Tracy

I'm able to update some of my other apps, but I still can't update the
'apodemail' app.

As I look at the list of developers listed in the admin panel for each
of my apps, there is clearly a disconnect. Some apps have multiple
entries with the same email address. Some apps have no administrators
listed. Just developers.

I would appreciate it if someone on the app engine team could look at
this. I believe something got disconnected when the email address for
the google account was changed.

Thanks.



On Mar 18, 1:59 pm, Greg Tracy g...@gregtracy.com wrote:
 Since changing the email address on my Google account, I have not been
 able to update my application. Command line and SDK updates fail with
 the following...

 Password for greg@hidden.com: Invalid username or password.
 Error 401: --- begin server output ---
 Must authenticate first.
 --- end server output ---
 2010-03-18 13:57:32 (Process exited with code 1)

 Is this a caching issue in app engine? The email was changed yesterday
 afternoon...

 This is happening for the app, apodemail.appspot.com

 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-appeng...@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.



[google-appengine] Re: unable to update my app (authentication issue)

2010-03-18 Thread Greg Tracy

update...

when i add a new developer to the app, i am able to run update on the
app when i authenticate using the new user.

however, the app is functionally broken at the moment because it can't
send email. i've tried setting the sender using the owner of the app
as well as the new developer account noted above, but neither of them
work. the mail.send() call will fail with the following...

InvalidSenderError: Unauthorized sender

this is now much worse then simply an update problem. my app is now
broken.



On Mar 18, 9:23 pm, Greg Tracy g...@gregtracy.com wrote:
 I'm able to update some of my other apps, but I still can't update the
 'apodemail' app.

 As I look at the list of developers listed in the admin panel for each
 of my apps, there is clearly a disconnect. Some apps have multiple
 entries with the same email address. Some apps have no administrators
 listed. Just developers.

 I would appreciate it if someone on the app engine team could look at
 this. I believe something got disconnected when the email address for
 the google account was changed.

 Thanks.

 On Mar 18, 1:59 pm, Greg Tracy g...@gregtracy.com wrote:

  Since changing the email address on my Google account, I have not been
  able to update my application. Command line and SDK updates fail with
  the following...

  Password for greg@hidden.com: Invalid username or password.
  Error 401: --- begin server output ---
  Must authenticate first.
  --- end server output ---
  2010-03-18 13:57:32 (Process exited with code 1)

  Is this a caching issue in app engine? The email was changed yesterday
  afternoon...

  This is happening for the app, apodemail.appspot.com

  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-appeng...@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.



[google-appengine] Re: appcfg.py error

2010-03-02 Thread Greg Tracy
just to verify... have you actually run the appcfg updater to upload
your modified application?  you'll need to update your app with the
new app.yaml as well as uploading the loader script. the only way to
do that is to first run appcfgy.py update dir.  THEN you can run
the uploader.

On Mar 2, 10:03 am, pkhoosh pkho...@gmail.com wrote:
 I moved the remote_api handler to the top of my app.yaml file, but I
 got the sameappcfg.pyerror.

 Just to clarify, when I call

  C:\Program Files (x86)\Google\google_appengine pythonappcfg.pyupload_data 
  --config_file=DataStoreLoader.py --filename=stimulus_set.csv 
  --kind=DataStore face-eval --has_header

 I am callingappcfg.pywith the config_file in my app-directory,
 which is face-eval in this case (a subdirectory in google_appengine).
 Also, the file that I want to uplpoad, stimulus_set.csv is also in the
 face-eval app directory, along with the DataStoreLoader class.

 The $PYTHON_LIB variable is at the head of the directory structure
 pointing the handler in app.yaml. I'm not sure if that variable is
 being interpreted correctly, causing the problem.

 I appreciate your help.

 On Mar 1, 7:01 pm, Eli Jones eli.jo...@gmail.com wrote:

  Is the remote_api handler at the very top of your app.yaml?

  if there is something like:

  - url: /.*
    script: myscript

  Above the remote_api handler.. then it won't work.On Mon, Mar 1, 2010 at 
  8:43 PM, pkhoosh pkho...@gmail.com wrote:
   I am trying to upload a csv file to a data store. I uploaded my
   app.yaml file with the following:

   - url: /remote_api
    script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
    login: admin

   I wrote a python handler in my application directory
   (DataStoreLoader.py).

   However, I get the following when I upload:

   C:\Program Files (x86)\Google\google_appenginepythonappcfg.py
   upload_data --config_file=DataStoreLoader.py --
   filename=stimulus_set.csv --kind=DataStore face-eval --has_header

   Application: face-eval; version: 1.
   Usage:appcfg.py[options] upload_data directory

  appcfg.py:error: You must have
   google.appengine.ext.remote_api.handler assigned
    to an endpoint in app.yaml, or provide the url of the handler via the
   'url' opt
   ion.

   Any help?

   --
   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-appeng...@googlegroups.com.
   To unsubscribe from this group, send email to
   google-appengine+unsubscr...@googlegroups.comgoogle-appengine%2bunsubscr...@googlegroups.com
   .
   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 google-appeng...@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.



[google-appengine] Microsoft emails are bouncing

2010-02-27 Thread Greg Tracy

Over the last week, emails sent from my app to Microsoft accounts -
hotmail, msn, live, etc. - are bouncing.

---
550 550 SC-004 Mail rejected by Windows Live Hotmail for policy
reasons. A block has been placed against your IP address because we
have received complaints concerning mail coming from that IP address.
---

I recognize that this is not something the GAE team can control
directly, but I'm hopeful that GAE can work with Microsoft's
postmaster services on our behalf to come up with a solution.

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-appeng...@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.



[google-appengine] Session cookies and the dev environment

2010-01-13 Thread Greg Tracy

I'm curious as to why the session cookie for google account sessions
is different between the development server and production. I'd also
like to know if there are abstractions/workarounds for this so I don't
have to keep modifying my client code.

Here's what I've found...

- On the development server, the session cookie name is
dev_appserver_login.

- On the production server, there are five cookies created for the
domain...
 __utmb
 __utmc
 __utma
 __utmz
 ACSID

Are there App Engine resources that cover this architecture?


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-appeng...@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.




[google-appengine] Re: GAE tools poll

2009-12-17 Thread Greg Tracy
I use Eclipse with PydDev.

I'd like to see the dev environment round out the tools for local
debugging. Specifically, I'd like a turn-key solution for running cron
jobs and a sendmail stub.

--

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-appeng...@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.




[google-appengine] Re: Struggling to Upload a CSV file to AppEngine Datastore

2009-11-17 Thread Greg Tracy

i believe a syntax error refers to an invalid command line argument.
can you copy and paste the command with all its arguments here in this
thread?



On Nov 17, 12:20 pm, Benjamin Mayo wondersofthebr...@googlemail.com
wrote:
 The commandline reported SyntaxError: invalid syntax.

 i've uploaded bulk elements via csv multiple times and the
 instructions worked perfectly.

 I'm sure they did, and I am sure this is my error, not the docs.
 Luckily, this does not apply personally anymore - I ended up doing
 something different - but I would love a response anyway, for future
 reference.

 On Nov 16, 7:47 pm, Greg Tracy greg.tr...@att.net wrote:

  what was the exact error or symptom? i'm reluctant to repeat the how-
  to guide.

 http://code.google.com/appengine/docs/python/tools/uploadingdata.html

  i've uploaded bulk elements via csv multiple times and the
  instructions worked perfectly. the sections you actually have to
  implement are:

  1. setting up remote_api
  2. creating loader classes
  3. preparing your data

  then issue the following from the command line...

  appcfg.py upload_data --config_file=your loader script from step
  2.py --filename=your CSV file.csv --kind=your db.Model class name
  app-directory

  On Nov 16, 11:43 am, Benjamin Mayo wondersofthebr...@googlemail.com
  wrote:

   Bear with me here. I have never used python at the *commandline*
   before. Ever.

   I have a .CSV file containing the database I would like to upload to
   my GAE datastore. I have followed the documentation provided, but the
   python shell keeps returning errors (syntax: update_data). Please can
   someone step me through how to import the CSV file into AppEngine.

   Thankyou for any help you can give, which - I promise - is greatly
   appreciated.



--

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-appeng...@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=.




[google-appengine] Re: Struggling to Upload a CSV file to AppEngine Datastore

2009-11-16 Thread Greg Tracy

what was the exact error or symptom? i'm reluctant to repeat the how-
to guide.

http://code.google.com/appengine/docs/python/tools/uploadingdata.html

i've uploaded bulk elements via csv multiple times and the
instructions worked perfectly. the sections you actually have to
implement are:

1. setting up remote_api
2. creating loader classes
3. preparing your data

then issue the following from the command line...

appcfg.py upload_data --config_file=your loader script from step
2.py --filename=your CSV file.csv --kind=your db.Model class name
app-directory


On Nov 16, 11:43 am, Benjamin Mayo wondersofthebr...@googlemail.com
wrote:
 Bear with me here. I have never used python at the *commandline*
 before. Ever.

 I have a .CSV file containing the database I would like to upload to
 my GAE datastore. I have followed the documentation provided, but the
 python shell keeps returning errors (syntax: update_data). Please can
 someone step me through how to import the CSV file into AppEngine.

 Thankyou for any help you can give, which - I promise - is greatly
 appreciated.

--

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-appeng...@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=.




[google-appengine] Create and adding Task objects is expensive

2009-11-02 Thread Greg Tracy

I've found that creating and adding Task objects is quite expensive.
Consider the following...

 for u in users:
 task = Task(url='/emailqueue', params=
{'email':u.email,'body':body})
 task.add('emailqueue')

Each user in this loop adds another 34.5 cpu usages. It is by far
the most expensive operation I have. Right now, I don't think it will
scale much higher than 300 loop iterations before I start running into
timeouts.

Is there a better way to do this?

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



[google-appengine] Re: Managing DeadlineExceededError within the taskqueue

2009-10-31 Thread Greg Tracy

no... i was using the wrong import.

thank you @djidjadji

On Oct 29, 7:16 pm, djidjadji djidja...@gmail.com wrote:
 Did you include?

 from google.appengine.runtime import apiproxy_errors

 2009/10/29 Greg Tracy greg.tr...@att.net:



  I tried to use the apiproxy_errors version but GAE couldn't find it
  during excecution...

  File /base/data/home/apps/apodemail/1.337377943281842397/main.py,
  line 191, in post
     except apiproxy_errors.DeadlineExceededError:
  NameError: global name 'apiproxy_errors' is not defined


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



[google-appengine] Re: The API call mail.Send() took too long to respond and was cancelled?

2009-10-31 Thread Greg Tracy


i hadn't tried that, but i did get it to work once i used the correct
import statement...

from google.appengine.runtime import apiproxy_errors



On Oct 29, 5:33 pm, Joshua Smith joshuaesm...@charter.net wrote:
 Did you try catching all exceptions?

 except:
   logging.exception(...

 On Oct 29, 2009, at 5:36 PM, Greg Tracy wrote:



  To add to this problem is the fact that I can't adequately catch the
  exception and avoid the re-queueing of the task. More on that here...

 http://groups.google.com/group/google-appengine/browse_thread/thread/...

  On Oct 29, 2:17 pm, Joshua Smith joshuaesm...@charter.net wrote:
  Well that's not cool.

  Task queue did the same thing: Threw an exception, even though it
  actually queued the task.  Perhaps Google is confused about what an
  exception is.

  Nick: How can I tell if the email was sent?  I'd hate to blast a  
  bunch
  of duplicate emails just because of some bogus error.

  Perhaps you should just increase the Timeout on this API to a limit
  that it can actually meet?

  -Joshua

  On Oct 29, 2009, at 2:32 PM, Greg Tracy wrote:

  I'm seeing quite a few as well. Although I do find that the emails  
  get
  delivered regardless.

  On Oct 29, 11:22 am, Joshua Smith joshuaesm...@charter.net wrote:
  We're getting a surprising number of these errors:

  The API call mail.Send() took too long to respond and was
  cancelled.

  This is happening, for example, when we send an email to three  
  people
  in the to: list.  Billing is enabled in my app.

  Should I wrap the call to mail.send_mail with an a try/except/retry
  loop?

  -Joshua


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



[google-appengine] Re: The API call mail.Send() took too long to respond and was cancelled?

2009-10-29 Thread Greg Tracy


I'm seeing quite a few as well. Although I do find that the emails get
delivered regardless.


On Oct 29, 11:22 am, Joshua Smith joshuaesm...@charter.net wrote:
 We're getting a surprising number of these errors:

 The API call mail.Send() took too long to respond and was cancelled.

 This is happening, for example, when we send an email to three people  
 in the to: list.  Billing is enabled in my app.

 Should I wrap the call to mail.send_mail with an a try/except/retry  
 loop?

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



[google-appengine] Re: Managing DeadlineExceededError within the taskqueue

2009-10-29 Thread Greg Tracy


I tried to use the apiproxy_errors version but GAE couldn't find it
during excecution...

File /base/data/home/apps/apodemail/1.337377943281842397/main.py,
line 191, in post
except apiproxy_errors.DeadlineExceededError:
NameError: global name 'apiproxy_errors' is not defined


Thanks for your suggestions.



On Oct 29, 3:37 am, djidjadji djidja...@gmail.com wrote:
 There are two definitions of DeadlineExceededError

 google/appengine/runtime/__init__.py
 class DeadlineExceededError(BaseException):
   Exception raised when the request reaches its overall time limit.
   Not to be confused with runtime.apiproxy_errors.DeadlineExceededError.
   That one is raised when individual API calls take too long.
   

 google/appengine/runtime/apiproxy_errors.py
 class DeadlineExceededError(Error):
   Raised by APIProxy calls if the call took too long to respond.

 2009/10/29 Greg Tracy greg.tr...@att.net:



  I'm running an email distribution list that utilizes the taskqueue to
  send out emails to individuals recipients. Periodically, I'm getting
  DeadlineExceededError when the Mail.send() call doesn't return fast
  enough. (This alone would be nice to avoid, but that's for another
  day).

  File /base/python_lib/versions/1/google/appengine/api/
  apiproxy_rpc.py, line 111, in CheckSuccess
     raise self.exception
  DeadlineExceededError: The API call mail.Send() took too long to
  respond and was cancelled.

  I've tried catching the exception without success. This is what I've
  tried...

  from google.appengine.runtime import DeadlineExceededError
  class EmailWorker(webapp.RequestHandler):
     def post(self):

         try:
             # send email
             message = mail.EmailMessage
  ()
             # setup message properties...
             apod_message.send()

         except DeadlineExceededError:
             logging.info(DeadlineExceededError exception!?! Try to
  set status and return normally)
             self.response.clear()
             self.response.set_status(200)
             self.response.out.write(Task took to long for %s - BAIL!
  % email)

  Right now, this results in the task failing (no exception caught), but
  the mail message succeeding. Then the task gets re-queued and the
  recipient gets the message for the second time.

  Thoughts?


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



[google-appengine] Re: The API call mail.Send() took too long to respond and was cancelled?

2009-10-29 Thread Greg Tracy


To add to this problem is the fact that I can't adequately catch the
exception and avoid the re-queueing of the task. More on that here...

http://groups.google.com/group/google-appengine/browse_thread/thread/288966daaecf3d05/c70bfd5b7f3307ef#c70bfd5b7f3307ef



On Oct 29, 2:17 pm, Joshua Smith joshuaesm...@charter.net wrote:
 Well that's not cool.

 Task queue did the same thing: Threw an exception, even though it  
 actually queued the task.  Perhaps Google is confused about what an  
 exception is.

 Nick: How can I tell if the email was sent?  I'd hate to blast a bunch  
 of duplicate emails just because of some bogus error.

 Perhaps you should just increase the Timeout on this API to a limit  
 that it can actually meet?

 -Joshua

 On Oct 29, 2009, at 2:32 PM, Greg Tracy wrote:



  I'm seeing quite a few as well. Although I do find that the emails get
  delivered regardless.

  On Oct 29, 11:22 am, Joshua Smith joshuaesm...@charter.net wrote:
  We're getting a surprising number of these errors:

  The API call mail.Send() took too long to respond and was  
  cancelled.

  This is happening, for example, when we send an email to three people
  in the to: list.  Billing is enabled in my app.

  Should I wrap the call to mail.send_mail with an a try/except/retry
  loop?

  -Joshua


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



[google-appengine] Managing DeadlineExceededError within the taskqueue

2009-10-28 Thread Greg Tracy


I'm running an email distribution list that utilizes the taskqueue to
send out emails to individuals recipients. Periodically, I'm getting
DeadlineExceededError when the Mail.send() call doesn't return fast
enough. (This alone would be nice to avoid, but that's for another
day).

File /base/python_lib/versions/1/google/appengine/api/
apiproxy_rpc.py, line 111, in CheckSuccess
raise self.exception
DeadlineExceededError: The API call mail.Send() took too long to
respond and was cancelled.

I've tried catching the exception without success. This is what I've
tried...

from google.appengine.runtime import DeadlineExceededError
class EmailWorker(webapp.RequestHandler):
def post(self):

try:
# send email
message = mail.EmailMessage
()
# setup message properties...
apod_message.send()

except DeadlineExceededError:
logging.info(DeadlineExceededError exception!?! Try to
set status and return normally)
self.response.clear()
self.response.set_status(200)
self.response.out.write(Task took to long for %s - BAIL!
% email)

Right now, this results in the task failing (no exception caught), but
the mail message succeeding. Then the task gets re-queued and the
recipient gets the message for the second time.

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



[google-appengine] Re: Taskqueue not following my rate limit

2009-10-22 Thread Greg Tracy


ah... makes perfect sense.

thank you for this!


On Oct 21, 7:23 am, David Symonds dsymo...@gmail.com wrote:
 On Tue, Oct 20, 2009 at 7:04 AM, Greg Tracy greg.tr...@att.net wrote:
  queue:
  - name: email-queue
   rate: 8/m
   bucket_size: 10

 Do you understand the effect of the bucket_size parameter? I bet you
 probably want that to be 1 here.

 In short, imagine a bucket with apples in it. bucket_size controls the
 maximum number of apples that the bucket will hold. The rate does not
 refer to how fast the bucket is emptied, but how fast the bucket is
 refilled. When you want to run a task, the system waits until there is
 at least one apple in the bucket, removes the apple, and then runs the
 task.

 This has the effect that the initial bucket_size number of tasks will
 be attempted almost immediately any time there's been an extended
 break (the bucket has refilled), and it is only rate-limited when the
 bucket is empty. Making the bucket_size equal to 1 effectively forces
 the rate-limit to always be in effect.

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