Re: [google-appengine] Re: a happy developer

2011-12-02 Thread Andrin von Rechenberg
+1

On Fri, Dec 2, 2011 at 3:48 AM, Thomas Wiradikusuma
wiradikus...@gmail.comwrote:

 Couldn't agree more! Outstanding work guys!

 PS: When can we see 1.6.1?


 On Dec 2, 1:11 am, Vivek Puri v...@vivekpuri.com wrote:
  +1
 
  On Nov 30, 4:59 pm, alex a...@cloudware.it wrote:
   I've seen many people bashing GAE dev team, especially lately.
 
   What I want to say here is, I've been using it for years now and it's
   pretty awesome what you guys have been doing and where you've gone
   today. Of course there are bugs and stuff you need to find workarounds
   for but it is nowhere near compared to the burden of managing a
   cluster of EC2 on AWS or pay a double to Heroku or RackSpace even if
   they're great platforms too.

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



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



Re: [google-appengine] Re: What happened to the promised reliability improvement for email delivery?

2011-12-02 Thread Andrin von Rechenberg
We are sending out about 1.8 million emails per month.
SES or sendgrid would be way to expensive. (~$1000).
We do it from a single server (2ghz, 4gb) hosted somewhere
outside of google. It costs us about $60 per month and we
have a great delivery rate (spif, dkim, dedicated ip and
also very important: we handle all email bounces in
appengine and dont send any further email to an address
if it bounces)

Our delivery rate is quite high, way beyond GAE, except
for hotmail.

I can highly recommend building setting up your own email
server and just add a simple php script to expose a http
api. Took me about a day to setup and its 20x cheaper
then sendgrid. It's been running for almost a year and
i never even had to login into the mailserver. it just
runs super smooth. I'm monitoring it with prodeagle.com

Cheers,
-Andrin

On Fri, Dec 2, 2011 at 2:53 AM, Vivek Puri v...@vivekpuri.com wrote:

 'Cause we like startups!

 On Dec 1, 8:19 pm, voscausa robert@gmail.com wrote:
  Why Sendgrid and not AWS SES. I moved to AWS SES and it is looking veyy
  good.

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



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



Re: [google-appengine] Meeting Notes from the Seattle meet-up.

2011-12-02 Thread Andrin von Rechenberg
You just scored 10/10.

On Thu, Dec 1, 2011 at 6:40 AM, Brandon Wirtz drak...@digerat.com wrote:

 We were the rowdiest group in the place.  We with our count of 8 were also
 about half of the people in the joint.

 ** **

 Greg prefixes a great many things with “The opinions I am about to express
 are my own and do not reflect those of Google, my team members, our
 sponsors, or my family”

 ** **

 Steve built an app that teaches his daughter math, but mentioned that if
 it caught on it would bankrupt him proving that GAE doesn’t scale as it can
 be Over loaded by a 9 year old girl and her computational skills.

 ** **

 It was confirmed that the Team changed GAE’s pricing just to spite me.
 Which is why I take such joy in the 4 Requests per second on Zero
 Instances. (That’ll teach you)

 ** **

 While the location of the GAE servers was not revealed we now know where
 the Google Apartment is for traveling Google Staff.  This will make
 abducting someone who knows this answer easier.

 ** **

 While Matt will tell you that Data Store is superior to all other Database
 models. He won’t do so publicly because he is a nice guy and “won’t drag
 the competition through the mud”.

 ** **

 Apparently I have Business Cards, but none of the Google staff did,
 because that would imply that Google lets them out of the Plex to interact
 with people who might want said card.

 ** **

 It is rumored that Microsoft has a Bacon Truck for poaching valued Google
 Employees, but none of the people in attendance had seen said truck,
 lending to the obvious conclusion, Microsoft doesn’t want any of them.

 ** **

 No one attended in an adult mermaid costume. And our Waitress looked a
 little to Emo/Suicide Girl to ask if she would consider wearing one.

 ** **

 -Brandon

 ** **

 *Brandon Wirtz
 *BlackWaterOps: President / Lead Mercenary 

 [image: Description:
 http://www.linkedin.com/img/signature/bg_slate_385x42.jpg]

 *Work:* 510-992-6548
 *Toll Free:* 866-400-4536 

 *IM:* drak...@gmail.com (Google Talk)
 *Skype:* drakegreene 

 BlackWater Ops
 http://www.blackwaterops.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-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.


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

image001.jpg

RE: [google-appengine] Re: What happened to the promised reliability improvement for email delivery?

2011-12-02 Thread Brandon Wirtz
Server Beach. Pick a Canada CoLo

Pricing about what Andrin said.  Being in Canada you screw up and violate
some Cann Spam law. Or if you do so intentionally. Being in Canada will
prevent your system from just disappearing, and having your domain stolen.
At least for a little while.

 

They have a 100% SLA  (.5% better than Google's) Because they are hard core
like that.

 

I have coupons if you need them.   

 

I run quite a few servers there.

 

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Andrin von
Rechenberg
Sent: Friday, December 02, 2011 12:35 AM
To: google-appengine@googlegroups.com
Cc: Uwe Maurer
Subject: Re: [google-appengine] Re: What happened to the promised
reliability improvement for email delivery?

 

We are sending out about 1.8 million emails per month.

SES or sendgrid would be way to expensive. (~$1000).

We do it from a single server (2ghz, 4gb) hosted somewhere

outside of google. It costs us about $60 per month and we

have a great delivery rate (spif, dkim, dedicated ip and

also very important: we handle all email bounces in

appengine and dont send any further email to an address

if it bounces)

Our delivery rate is quite high, way beyond GAE, except

for hotmail.

 

I can highly recommend building setting up your own email

server and just add a simple php script to expose a http

api. Took me about a day to setup and its 20x cheaper

then sendgrid. It's been running for almost a year and

i never even had to login into the mailserver. it just

runs super smooth. I'm monitoring it with prodeagle.com

 

Cheers,

-Andrin

On Fri, Dec 2, 2011 at 2:53 AM, Vivek Puri v...@vivekpuri.com wrote:

'Cause we like startups!


On Dec 1, 8:19 pm, voscausa robert@gmail.com wrote:
 Why Sendgrid and not AWS SES. I moved to AWS SES and it is looking veyy
 good.

--
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
mailto:google-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-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.

-- 
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] Offering a Google App Engine service: using the logo?

2011-12-02 Thread stephanos
Hi,

I'm developing a error tracking service called http://crashnote.com and one 
of the platforms I want to target is the App Engine. Obviously I want to 
make this very clear on my landing page, so I thought using the logo is a 
great way of doing this.

Today I received a response to my request which said we cannot approve 
your request. I can understand them, I mean I wouldn't want anyone to use 
my logo and misguide users.

But I want to be a legit SaaS offering for this App Engine platform, there 
must be some way to become an official partner.

I'd be happy to hear advice/suggestions.


Regards,
Stephan

-- 
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/-/xlQqO89xKrAJ.
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] Offering a Google App Engine service: using the logo?

2011-12-02 Thread Brandon Wirtz
Not a lawyer, not a Google Employee, and I don't know what your request
said.

 

I had no trouble getting permission for 

 

Powered by the Google App EngineT platform

 

With the Jet logo. Approved.   Though I did so very early.

 

(They make you send actual paper in the mail. I didn't have to send actual
paper for an NDA. They are very serious about logos)

 

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of stephanos
Sent: Friday, December 02, 2011 1:14 AM
To: google-appengine@googlegroups.com
Subject: [google-appengine] Offering a Google App Engine service: using the
logo?

 

Hi,

 

I'm developing a error tracking service called http://crashnote.com and one
of the platforms I want to target is the App Engine. Obviously I want to
make this very clear on my landing page, so I thought using the logo is a
great way of doing this.

 

Today I received a response to my request which said we cannot approve your
request. I can understand them, I mean I wouldn't want anyone to use my
logo and misguide users.

 

But I want to be a legit SaaS offering for this App Engine platform, there
must be some way to become an official partner.

 

I'd be happy to hear advice/suggestions.

 

 

Regards,

Stephan

-- 
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/-/xlQqO89xKrAJ.
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.

-- 
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: Doom day

2011-12-02 Thread c h
i too am frustrated by this.  when google announced the new pricing they 
also told us that they would discount frontend instance hours until 
python2.7 was supported.  right now python2.7 is in beta, and i am not 
feeling lucky enough to move production apps on to a beta product (given 
that i still have to use the beta data migration tool).

i'm disappointed that google has not been able to deliver production 
supported python2.7, but still raised the price.

-- 
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/-/SoJftf4uDZwJ.
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] CSS file not updating when deploying app

2011-12-02 Thread Mike
Hey

I have made changes to one of my CSS files, however after deploying my
application the changes to the CSS are not being reflected in the live
CSS. If I go to the explicit version number of the app I.e.
1.myappid.appspot.com the changes to the CSS are apparent.

Is this a server caching issue that will sort itself out or do I need
to do something to fix 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: Meeting Notes from the Seattle meet-up.

2011-12-02 Thread Miles
It sounds like this meetup was almost worth the 10 hour flight to
Seattle ;)

On Dec 1, 5:40 am, Brandon Wirtz drak...@digerat.com wrote:
 We were the rowdiest group in the place.  We with our count of 8 were also
 about half of the people in the joint.

 Greg prefixes a great many things with The opinions I am about to express
 are my own and do not reflect those of Google, my team members, our
 sponsors, or my family

 Steve built an app that teaches his daughter math, but mentioned that if it
 caught on it would bankrupt him proving that GAE doesn't scale as it can be
 Over loaded by a 9 year old girl and her computational skills.

 It was confirmed that the Team changed GAE's pricing just to spite me. Which
 is why I take such joy in the 4 Requests per second on Zero Instances.
 (That'll teach you)

 While the location of the GAE servers was not revealed we now know where the
 Google Apartment is for traveling Google Staff.  This will make abducting
 someone who knows this answer easier.

 While Matt will tell you that Data Store is superior to all other Database
 models. He won't do so publicly because he is a nice guy and won't drag the
 competition through the mud.

 Apparently I have Business Cards, but none of the Google staff did, because
 that would imply that Google lets them out of the Plex to interact with
 people who might want said card.

 It is rumored that Microsoft has a Bacon Truck for poaching valued Google
 Employees, but none of the people in attendance had seen said truck, lending
 to the obvious conclusion, Microsoft doesn't want any of them.

 No one attended in an adult mermaid costume. And our Waitress looked a
 little to Emo/Suicide Girl to ask if she would consider wearing one.

 -Brandon

 Brandon Wirtz
 BlackWaterOps: President / Lead Mercenary

 Description:http://www.linkedin.com/img/signature/bg_slate_385x42.jpg

 Work: 510-992-6548
 Toll Free: 866-400-4536

 IM: drak...@gmail.com (Google Talk)
 Skype: drakegreene

  http://www.blackwaterops.com/ BlackWater Ops

  image001.jpg
  1KViewDownload

-- 
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: CSS file not updating when deploying app

2011-12-02 Thread Rohan Chandiramani
I think Ctrl-F5 solves this.

-- 
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/-/pP0B0lBQKWgJ.
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] CSS file not updating when deploying app

2011-12-02 Thread Brandon Wirtz
Likely you set the expiration long, and the edgecache cached the old
version.  Your app.yaml specifies the settings for a default on static
files.


-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Mike
Sent: Friday, December 02, 2011 2:33 AM
To: Google App Engine
Subject: [google-appengine] CSS file not updating when deploying app

Hey

I have made changes to one of my CSS files, however after deploying my
application the changes to the CSS are not being reflected in the live CSS.
If I go to the explicit version number of the app I.e.
1.myappid.appspot.com the changes to the CSS are apparent.

Is this a server caching issue that will sort itself out or do I need to do
something to fix 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.


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



RE: [google-appengine] Re: CSS file not updating when deploying app

2011-12-02 Thread Brandon Wirtz
Not if edgecache locked on to it. If it is local then yes.  

 

Also consider installing Fiddler 2 on your system, it helps make sure you
are always looking at live versions, and will tell you what cache headers
are being sent.  It will also tell you of 301's 302's and the latency and
through put of your requests.

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Rohan Chandiramani
Sent: Friday, December 02, 2011 2:52 AM
To: google-appengine@googlegroups.com
Subject: [google-appengine] Re: CSS file not updating when deploying app

 

I think Ctrl-F5 solves this. 

-- 
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/-/pP0B0lBQKWgJ.
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.

-- 
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: CSS file not updating when deploying app

2011-12-02 Thread Mike
Ctrl + F5 was my first solution, needless to say it doesn't work as
Brandon suggested.

I have set the expiration of css files to 7 days in my appengine-
web.xml, I'm sure this hasn't caused an issue before when updating CSS
files though.

Would it be worth reducing this or am I just going to have to wait 7
days before app engine updates the CSS to the new version I
deployed?

Thanks

On Dec 2, 10:57 am, Brandon Wirtz drak...@digerat.com wrote:
 Not if edgecache locked on to it. If it is local then yes.

 Also consider installing Fiddler 2 on your system, it helps make sure you
 are always looking at live versions, and will tell you what cache headers
 are being sent.  It will also tell you of 301's 302's and the latency and
 through put of your requests.

 From: google-appengine@googlegroups.com
 [mailto:google-appengine@googlegroups.com] On Behalf Of Rohan Chandiramani
 Sent: Friday, December 02, 2011 2:52 AM
 To: google-appengine@googlegroups.com
 Subject: [google-appengine] Re: CSS file not updating when deploying app

 I think Ctrl-F5 solves this.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web 
 visithttps://groups.google.com/d/msg/google-appengine/-/pP0B0lBQKWgJ.
 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 
 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-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: Question about indexing of properties

2011-12-02 Thread Ice13ill
It wasn't a problem of revealing secrets, I just thought at this
situation (while playing with different data models on my entities),
so that is why I generalized.
So, to use your example: i could model my entity like this:
- name=SimpleEntity
- type=animal
- properties=[cat,big] (which is a list)

Or, for the other model, let's say I have this equivalence:
- name=SimpleEntity
- properties=[cat, big, type=animal]

The first two questions that came into my head were:
1. which index will generate more metadata ( it the there is a
difference) ?
2. which index needs more write operations ?



On Nov 30, 11:30 pm, Ikai Lan (Google) ika...@google.com wrote:
 Note: I wrote the first part of this email before I understood what you
 were doing, but since I think it is useful information, I am leaving it in.

 Original email
 ---

 Basically, there are a few rules to remember when considering tradeoffs:

 - get by key is always best. It's the most cost efficient. If you can
 perform your query using a named key, you'll see the most benefits
 - from a cost perspective, writing an index is always 2 datastore
 operations. If you UPDATE an index (change a value), that's 4 datastore
 operations because you need to delete the old indexes.

 In general, most websites and web apps are read heavy. The rule of thumb is
 that you might do 10 or more reads per every write, so you optimize for
 reads when possible.

 One pattern I generally recommend is where you store records both as
 individual rows as well as child fields in the parent entity. I was talking
 to someone yesterday about the best way to store, say, travel data. I
 recommended a structure that looked something like this:

 Trip
 - date
 - description
 - traveler_id

 Traveler
 - name
 - trips --- serialized trips

 This was a situation where Traveler would have been read way more times
 than Trip would have been queried, but we would treat the Trip as the
 source of truth so we can always regenerated the Traveler's trips
 property. The tradeoff here is additional storage, but the benefits are
 that we have a source of truth, and reads are really, really fast since we
 only need to fetch travelers by ID.

 Answer to your question
 -
 In your case, I think the only read tradeoff, if I understand your problem
 correctly, is that you cannot query by property equality independent of
 type. It'll take fewer indexes. Example:

 Let's say you have a property value cat and a type animal. If you use a
 list property of animal=cat, you can't ever find ALL the properties
 cat. It'll cost less in terms of indexes. If you wanted to find all the
 animals (type), you would do an inequality query on animal.

 I can't think of a material difference in terms of performance, but maybe
 someone else in this group can.

 Also, one more general tip that would have made the original question
 easier to understand: don't overgeneralize the problem (type, property,
 value). You probably aren't going to reveal any secret details, and it's
 easier for readers to conceptualize if they can map to concrete object
 types.

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai







 On Wed, Nov 30, 2011 at 2:42 AM, Ice13ill andrei.fifi...@gmail.com wrote:
  Well let's say I have an Entity with the following fields:
  - String name
  - String type
  - ListString properties

  The purpose is to search these entities (for example: the user inputs
  the search words to be matched against properties field and the
  name and type are matched according to some other settings/
  options)
  So let's say I can use this index: name^ , type^ , properties^.

  But another option would be to remove the type field and insert the
  same information in the properties list filed as
  type=some_value_of_type so and I could use this index: name^ ,
  properties^.

  I believe that any of this is a solution for searching my Entities (is
  it possible that i'm missing something ?), but i was wandering what
  are the differences (advantages/disadvantages) regarding query
  performance, quotas etc.

  On Nov 29, 10:57 pm, Brandon Wirtz drak...@digerat.com wrote:
   I think you are doing someone's home work :-)

   From: google-appengine@googlegroups.com
   [mailto:google-appengine@googlegroups.com] On Behalf Of Ikai Lan
  (Google)
   Sent: Tuesday, November 29, 2011 10:58 AM
   To: google-appengine@googlegroups.com
   Subject: Re: [google-appengine] Question about indexing of properties

   Can you give a more concrete example of the two cases (maybe provide some
   code)? I'm trying to figure out what you're doing so I can list off
   tradeoffs that I see.

   --

   Ikai Lan
   Developer Programs Engineer, Google App Engine

   plus.ikailan.com http://plus.ikailan.com/  | twitter.com/ikai

   On Sat, Nov 26, 2011 at 4:17 AM, Ice13ill andrei.fifi...@gmail.com
  wrote:

   Hi, I was wandering which of the following data models are 

[google-appengine] Re: CSS file not updating when deploying app

2011-12-02 Thread voscausa
I never have these problems. 
I see my changes right away. I'am using Stylizer to change my CSS in real 
time and for testing in different browsers. And than I save (update) my 
changed CSS in my Eclipse / Pydev static folder of my project. 
After uploading the new changed CSS I also see the changes. Most of the 
time I'am using Chrome with Firebug Lite and Firefox with webtools.

-- 
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/-/ylPU-WwfmwYJ.
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] Re: What if I dpn't want memcache to fail silently?

2011-12-02 Thread Jeff Schnitzer
If you're trying to create a write-through cache, you may want to look at
this code:

http://code.google.com/p/objectify-appengine/source/browse/trunk/src/com/googlecode/objectify/cache/CachingAsyncDatastoreService.java

It will remain transactionally locked to the datastore except in one
condition: a DeadlineExceededException.  As long as you don't get a hard
cutoff, no amount of write contention can cause it to go out of sync.  It
doesn't require a write lock, but it does make heavy use of CAS.  And
transactions ignore the cache until commit, which is really the appropriate
behavior.

Jeff

On Fri, Dec 2, 2011 at 3:16 AM, Crizegg craig.qui...@gmail.com wrote:

 Looking into this solution, I've jumped farther down the rabbit hole
 than anticipated. First off, memcache write failures are not very
 common and neglecting to use compare and set was probably the main
 source of my issues.
 However memcache writes can still fail and regardless of whether they
 throw errors, can cause stale data in race conditions. Also, since gae
 transactions live solely within the datastore, you cannot solve this
 problem elegantly with transactions. See here for more info:

 http://groups.google.com/group/appengine-ndb-discuss/browse_thread/thread/cd05c3c8ac7b27cf#

 On Dec 1, 2:36 pm, Crizegg craig.qui...@gmail.com wrote:
  Setting the cache is where my pain point lies. I see zero log messages
  indicating a memcache failed write on the python side. I can't think
  of a case where you WOULDN'T want to know memcache failed to overwrite
  stale data. Since the next update is going to read the stale data from
  memcache and write it to the datastore!
 
   In Javaland there is an error handler you can set on MemcacheService
 
  @Jeff, this is the exact type of solution I'm after for Python. I'm
  thinking proxy hooks with backed off retries.
 
  Will post soon.
 
  On Nov 30, 10:43 am, Brandon Wirtz drak...@digerat.com wrote:
 
 
 
 
 
 
 
   Yes,
 
   But that is Drawer failed to open
 
   Memcache and the drawer should error when theyfailto be a place that
 may
   or may not contain data.
 
   Drawer is too busy an can't be bothered right now to check if it has
 your
   socks, is different than there are no socks.  Drawer is suffering from
   non-existence issues there is no drawer.  Or if you are on MS. Drawer
 only
   allows you to read socks but you can't store new socks at this time so
 stop
   asking.
 
   From: google-appengine@googlegroups.com
   [mailto:google-appengine@googlegroups.com] On Behalf Of Jeff Schnitzer
   Sent: Wednesday, November 30, 2011 5:13 AM
   To: google-appengine@googlegroups.com
   Subject: Re: [google-appengine] Re: What if I dpn't want memcache
 tofail
  silently?
 
   FWIW, there are good reasons to ask when memcache fails - I mean a real
   failure (say, timeout exception) rather than mere lack of data.
 
   For example, if you are put()ing a new value in memcache and you want
 to
   make sure the old value is replaced, you really want to be able to
 retry if
   the put() fails.
 
   In Javaland there is an error handler you can set on MemcacheService -
 the
   default is to log and ignore errors but you can set a strict error
 handler
   that propagates exceptions.  Dunno what the equivalent for Python is.
 
   Jeff
 
   On Wed, Nov 30, 2011 at 2:03 AM, Brandon Wirtz drak...@digerat.com
 wrote:
 
   My socks are not in the drawer.
 
   Return Error (What has the Maid been doing all day?
 
   Just because the socks aren't in the drawer doesn't mean the drawer is
 in
   error.
 
   From: google-appengine@googlegroups.com
   [mailto:google-appengine@googlegroups.com] On Behalf Of Tim Hoffman
   Sent: Tuesday, November 29, 2011 9:39 PM
   To: google-appengine@googlegroups.com
   Subject: [google-appengine] Re: What if I dpn't want memcache tofail
  silently?
 
   Hi
 
   Its not generally considered an error if something is not in the
 cache, (it
   is after all a cache, not a guarunteed storage.)
 
   Use a decorator to raise KeyError or whatever you feel is appropriate.
 
   Rgds
 
   Tim
 
   --
   You received this message because you are subscribed to the Google
 Groups
   Google App Engine group.
   To view this discussion on the web visithttps://
 groups.google.com/d/msg/google-appengine/-/A3p__F-3o1kJ.
   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 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-appengine@googlegroups.com
 .
   To unsubscribe from this group, send email to
   google-appengine+unsubscr...@googlegroups.com
   mailto:google-appengine%2bunsubscr...@googlegroups.com .
   For more options, visit this group athttp://
 

Re: [google-appengine] Doom day

2011-12-02 Thread Kaan Soral
http://code.google.com/p/googleappengine/issues/detail?id=6282
This is the problem

You may be right about the sliders
I am attaching my instances chart, any suggestions?
(I kept everything at automatic-automatic until now, trusting gae, but it 
seems it is over using instances)

-- 
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/-/GbOYuz42dlQJ.
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.

attachment: chart.png

[google-appengine] Re: CSS file not updating when deploying app

2011-12-02 Thread JH
try using a cache-busting stragegy, like mystyle.css?1234  You could
even insert the current built of your app for 1234 so all caches break
each time you update your app

On Dec 2, 4:32 am, Mike phy...@gmail.com wrote:
 Hey

 I have made changes to one of my CSS files, however after deploying my
 application the changes to the CSS are not being reflected in the live
 CSS. If I go to the explicit version number of the app I.e.
 1.myappid.appspot.com the changes to the CSS are apparent.

 Is this a server caching issue that will sort itself out or do I need
 to do something to fix 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] How to gracefully handle datastore timeouts

2011-12-02 Thread Rishi Arora
Earlier this morning I had a situation where datastore reads were timing
out.  That's okay, and expected, given that I use a M/S datastore.
 However, the timeouts were of the order of 50 seconds, causing nearly 30
front-end instances to be spawned.  My usual number of active front-end
instances at that time of the day is about 5, peaking at 15 occasionally.
 This condition lasted only 3 minutes or so, and so, the cost impact was
minimal.  However, I can imagine that if this lasted an hour or more, I
would incur a lot of costs while the downtime persists.  I'm okay with such
downtimes, as long as it only leads to my customers not being able to
access my site.  But if it also leads to unnecessary increases in costs,
then it calls for further optimization.  So, my loaded question is - how
can I handle this with python2.5?  Is python 2.7 the only answer?  I
imagine python2.7 will help because while a front-end is waiting for data
store ops to complete, it can process other requests.  But are there other
ways of setting specific timeouts to datastore operations?  So, if these
operations are taking too long, I'd rather just return an error to the
user, instead of letting my front-end run indefinitely.

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



Re: [google-appengine] How to gracefully handle datastore timeouts

2011-12-02 Thread Joshua Smith
You can't use 2.7 unless you migrate to HR.

Once you migrate to HR, the datastore read timeouts go away.

And then you don't need to migrate to 2.7.

-Joshua

On Dec 2, 2011, at 10:37 AM, Rishi Arora wrote:

 Earlier this morning I had a situation where datastore reads were timing out. 
  That's okay, and expected, given that I use a M/S datastore.  However, the 
 timeouts were of the order of 50 seconds, causing nearly 30 front-end 
 instances to be spawned.  My usual number of active front-end instances at 
 that time of the day is about 5, peaking at 15 occasionally.  This condition 
 lasted only 3 minutes or so, and so, the cost impact was minimal.  However, I 
 can imagine that if this lasted an hour or more, I would incur a lot of costs 
 while the downtime persists.  I'm okay with such downtimes, as long as it 
 only leads to my customers not being able to access my site.  But if it also 
 leads to unnecessary increases in costs, then it calls for further 
 optimization.  So, my loaded question is - how can I handle this with 
 python2.5?  Is python 2.7 the only answer?  I imagine python2.7 will help 
 because while a front-end is waiting for data store ops to complete, it can 
 process other requests.  But are there other ways of setting specific 
 timeouts to datastore operations?  So, if these operations are taking too 
 long, I'd rather just return an error to the user, instead of letting my 
 front-end run indefinitely.
 
 
 -- 
 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.

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



Re: [google-appengine] How to gracefully handle datastore timeouts

2011-12-02 Thread Rishi Arora
:)  So I'm SOL, without HR?

On Fri, Dec 2, 2011 at 9:50 AM, Joshua Smith joshuaesm...@charter.netwrote:

 You can't use 2.7 unless you migrate to HR.

 Once you migrate to HR, the datastore read timeouts go away.

 And then you don't need to migrate to 2.7.

 -Joshua

 On Dec 2, 2011, at 10:37 AM, Rishi Arora wrote:

  Earlier this morning I had a situation where datastore reads were timing
 out.  That's okay, and expected, given that I use a M/S datastore.
  However, the timeouts were of the order of 50 seconds, causing nearly 30
 front-end instances to be spawned.  My usual number of active front-end
 instances at that time of the day is about 5, peaking at 15 occasionally.
  This condition lasted only 3 minutes or so, and so, the cost impact was
 minimal.  However, I can imagine that if this lasted an hour or more, I
 would incur a lot of costs while the downtime persists.  I'm okay with such
 downtimes, as long as it only leads to my customers not being able to
 access my site.  But if it also leads to unnecessary increases in costs,
 then it calls for further optimization.  So, my loaded question is - how
 can I handle this with python2.5?  Is python 2.7 the only answer?  I
 imagine python2.7 will help because while a front-end is waiting for data
 store ops to complete, it can process other requests.  But are there other
 ways of setting specific timeouts to datastore operations?  So, if these
 operations are taking too long, I'd rather just return an error to the
 user, instead of letting my front-end run indefinitely.
 
 
  --
  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.

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



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



Re: [google-appengine] How to gracefully handle datastore timeouts

2011-12-02 Thread Joshua Smith
I believe so.

Google has made it pretty clear that M/S is deprecated and life on M/S will 
continue to get worse and worse.

On Dec 2, 2011, at 10:54 AM, Rishi Arora wrote:

 :)  So I'm SOL, without HR?
 
 On Fri, Dec 2, 2011 at 9:50 AM, Joshua Smith joshuaesm...@charter.net wrote:
 You can't use 2.7 unless you migrate to HR.
 
 Once you migrate to HR, the datastore read timeouts go away.
 
 And then you don't need to migrate to 2.7.
 
 -Joshua
 
 On Dec 2, 2011, at 10:37 AM, Rishi Arora wrote:
 
  Earlier this morning I had a situation where datastore reads were timing 
  out.  That's okay, and expected, given that I use a M/S datastore.  
  However, the timeouts were of the order of 50 seconds, causing nearly 30 
  front-end instances to be spawned.  My usual number of active front-end 
  instances at that time of the day is about 5, peaking at 15 occasionally.  
  This condition lasted only 3 minutes or so, and so, the cost impact was 
  minimal.  However, I can imagine that if this lasted an hour or more, I 
  would incur a lot of costs while the downtime persists.  I'm okay with such 
  downtimes, as long as it only leads to my customers not being able to 
  access my site.  But if it also leads to unnecessary increases in costs, 
  then it calls for further optimization.  So, my loaded question is - how 
  can I handle this with python2.5?  Is python 2.7 the only answer?  I 
  imagine python2.7 will help because while a front-end is waiting for data 
  store ops to complete, it can process other requests.  But are there other 
  ways of setting specific timeouts to datastore operations?  So, if these 
  operations are taking too long, I'd rather just return an error to the 
  user, instead of letting my front-end run indefinitely.
 
 
  --
  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.
 
 --
 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.
 
 
 
 -- 
 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.

-- 
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] HRD Migration stuck after quota limit, not resuming

2011-12-02 Thread Xavier
My HRD migration process is stuck at 98.18% since yesterday. I suspect
this was due to storage quota limit on the target App, but the process
is still stuck and not restarting even after adjusting the quota. Any
recommendations? App is 'seacloud-1'.

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.



Re: [google-appengine] How to gracefully handle datastore timeouts

2011-12-02 Thread Rishi Arora
Based on this:
http://code.google.com/appengine/docs/python/datastore/hr/

I don't see any strong language indicating imminent deprecation.  Although
the fact that python2.7 does not support M/S might hint at that.  If Google
does indeed want to deprecate M/S, why wouldn't they just say it, and give
some fixed timeline - 1 month, 6 months, 1 year, whatever.  But why hint
it, why not just say it?  Since I don't see a strong reason for Google to
drop subtle hints, I assumed there's no plan to deprecate M/S, and I also
assumed that eventually when python2.5 is phased out, python2.7 will
support M/S.  I don't see any technical reason why python2.7 can't support
M/S either.  I can achieve nearly the same level of concurrency with
Python2.5 (albeit at a higher cost) that I can with Python2.7, with regards
to datastore operations.

Can someone at Google provide some direction on long-term support (at least
a year or so) for M/S?


On Fri, Dec 2, 2011 at 10:07 AM, Joshua Smith joshuaesm...@charter.netwrote:

 I believe so.

 Google has made it pretty clear that M/S is deprecated and life on M/S
 will continue to get worse and worse.

 On Dec 2, 2011, at 10:54 AM, Rishi Arora wrote:

 :)  So I'm SOL, without HR?

 On Fri, Dec 2, 2011 at 9:50 AM, Joshua Smith joshuaesm...@charter.netwrote:

 You can't use 2.7 unless you migrate to HR.

 Once you migrate to HR, the datastore read timeouts go away.

 And then you don't need to migrate to 2.7.

 -Joshua

 On Dec 2, 2011, at 10:37 AM, Rishi Arora wrote:

  Earlier this morning I had a situation where datastore reads were
 timing out.  That's okay, and expected, given that I use a M/S datastore.
  However, the timeouts were of the order of 50 seconds, causing nearly 30
 front-end instances to be spawned.  My usual number of active front-end
 instances at that time of the day is about 5, peaking at 15 occasionally.
  This condition lasted only 3 minutes or so, and so, the cost impact was
 minimal.  However, I can imagine that if this lasted an hour or more, I
 would incur a lot of costs while the downtime persists.  I'm okay with such
 downtimes, as long as it only leads to my customers not being able to
 access my site.  But if it also leads to unnecessary increases in costs,
 then it calls for further optimization.  So, my loaded question is - how
 can I handle this with python2.5?  Is python 2.7 the only answer?  I
 imagine python2.7 will help because while a front-end is waiting for data
 store ops to complete, it can process other requests.  But are there other
 ways of setting specific timeouts to datastore operations?  So, if these
 operations are taking too long, I'd rather just return an error to the
 user, instead of letting my front-end run indefinitely.
 
 
  --
  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.

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



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


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


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



Re: [google-appengine] Doom day

2011-12-02 Thread Gerald Tan
If you set Max Idle Instance to automatic you will always pay for the total 
number of instances.
Looking at your chart I'd set Max Idle Instance to something between 20-25

-- 
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/-/zitj392_plYJ.
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: Email Parser

2011-12-02 Thread Cynthia
Thanks for the replies.  Maybe I can do this another way.  I'm reading
up on Procmail, maybe that's what I need.
Cynthia

On Dec 1, 2:15 pm, Brandon Wirtz drak...@digerat.com wrote:
 Unless there is a reason for the form to send an email, you would be better
 to put the forms target on appengine and convert the post data to a
 database.  Java or python can do this relatively easily, if you don't speak
 either now however I don't know as this is a super easy first task.

 The DataStorage is easy, but making a spreadsheet out of the data (if you
 want it to be editable) is not going to be simple.

 Personally if I were doing the project you describe I would Check out PHP
 Form Maker (Pro?)  or one of the  other form maker software suites depending
 on what you or your Sys admin/web host determines would be easiest in your
 web configuration.

 Not that I want to dissuade you from GAE, just don't think that the learning
 curve for the task is well balanced.

 -Brandon

 Brandon Wirtz
 BlackWaterOps: President / Lead Mercenary

 Work: 510-992-6548
 Toll Free: 866-400-4536
 IM: drak...@gmail.com (Google Talk)
 Skype: drakegreene
 BlackWater Ops







 -Original Message-
 From: google-appengine@googlegroups.com

 [mailto:google-appengine@googlegroups.com] On Behalf Of Cynthia
 Sent: Thursday, December 01, 2011 9:03 AM
 To: Google App Engine
 Subject: [google-appengine] Email Parser

 I'm brand new to Google App Engine and I'm not really sure I can get
 something that will do what I want. Or maybe I need to go elsewhere. I am a
 programmer by trade but I am still a beginner in many areas.

 I am looking for a way to receive emails and parse out certain information,
 then save the info to a DB or a Spreadsheet.  A Google Docs Spreadsheet
 would be fine, if that's possible.

 Would Google App Engine be able to do this? Which language would be best?
 Maybe something like this already exists that I could use?

 It's for a club membership list. People sign up with an HTML form, and the
 form emails the information to an email address. I want to pluck the data
 out of the email and have it save automatically.

 Thanks,
 Cynthia

 --
 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 
 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-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] Problem with GAE Datastore Viewer

2011-12-02 Thread bartprokop
Hi, My application is developed in JAVA, utilizing JDO.
Unfortunatelly, I started today getting starnge errors - 500 when
trying to run GQL queries on my data:

SELECT * FROM Przedszkole where __key__ =
Key('agtzfmUtZHppZWNrb3ITCxILUHJ6ZWRzemtvbGUYgooIDA')

results with Server error 500 and strange message: address must not
be empty.

My application is http://e-dziecko.appspot.com .

Any hint on this?

More funny, access object programatically seems to work without any
interruption.

-- 
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] Failure 500 when I try to call RPC

2011-12-02 Thread Amit Liron
Hi
I am using GWT with JAVA.
I wrote a simple program which use RPC.
When I try to run it without Google app engine - it works fine.

after I upload my apllication to google app engine and try to see if
it work, I get strange error.
I can see my welcome screen, and when I click on a button (which
invoke a RPC) I got an error:
failure 500 htmlhead meta http-equiv...  .. if the problem
persist, please HERF = http://code.google.com/appengine/
community.html ...

I cant understand when I can run the apllication with out google app
engine, and with app engine I got this error ?

-- 
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] Python egg importing and entry points?

2011-12-02 Thread Petri
Given setuptools and zipimport are supported with python 2.7, could someone 
please provide a brief post describing the specifics of importing eggs and 
using entry points on gae?

For example, it would be nice if the eggs at app root were added to path 
automatically, and if wsgi handlers (referred to in app.yaml) could reside 
inside eggs.

Thanks!

 Petri

-- 
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/-/y1kpkIKKmBAJ.
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] AppStats - Gaps in processing times

2011-12-02 Thread Incure
Hi,

I am trying to optimize my application and am using AppStats to see
where there may be bottlenecks. Current page processing time is a
quite high 1200ms with little data in the datastore.

Using AppStats I can see that most RPCs take 3-10ms, so perfectly
reasonable.

A few questions:

1) There are a total of about 15 RPC per page, is this reasonable for
a page?

2) There are two RPCs (both datastore_v3.Get) that take about 50-60ms
each - the odd thing is that after each of these calls, there is a
300ms jump before the next event. Both these calls use a Reference
Property, which I use quite al lot in the app. Why the 300ms delay, in
addition to the 50ms processing time? Is there a way to optimize these
reference property calls?

Thanks for your help!


Incure

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



Re: [google-appengine] Re: The Performance of the SDK development server has become unbearable

2011-12-02 Thread Robert Schuppenies
On Wed, Nov 30, 2011 at 11:33 AM, PK pa...@gae123.com wrote:

 Hi Ikai,

 Thanks for acknowledging this.

 Good software gets better but great software also does nor regress first.
 As painful as is to configure static resource serving, it is by now a known
 evil and I have automated it. Hunting down regressions is unexpected and
 totally unproductive. Getting back to where this thread started I would
 like to hear that you will also/first add some benchmarks in your internal
 SDK testing process so that huge performance regressions like the ones
 described here will be less likely to happen again.


You're right PK and we will look into this.

cheers,
robert

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



RE: [google-appengine] Re: CSS file not updating when deploying app

2011-12-02 Thread Brandon Wirtz
Don't put Query strings in your css links, that is a horrible hack. Set your
cache headers, or version your files in the name.

Query strings for cache busting hard coded in the HTML will bust caching for
users later as well.


-Original Message-
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of JH
Sent: Friday, December 02, 2011 6:00 AM
To: Google App Engine
Subject: [google-appengine] Re: CSS file not updating when deploying app

try using a cache-busting stragegy, like mystyle.css?1234  You could even
insert the current built of your app for 1234 so all caches break each time
you update your app

On Dec 2, 4:32 am, Mike phy...@gmail.com wrote:
 Hey

 I have made changes to one of my CSS files, however after deploying my 
 application the changes to the CSS are not being reflected in the live 
 CSS. If I go to the explicit version number of the app I.e.
 1.myappid.appspot.com the changes to the CSS are apparent.

 Is this a server caching issue that will sort itself out or do I need 
 to do something to fix 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.


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



Re: [google-appengine] Re: Meeting Notes from the Seattle meet-up.

2011-12-02 Thread Ikai Lan (Google)
Oh dude, now you are making me regret not coming along.

I do not condone the abduction of Google employees but I will tell you that
your intel is virtually worthless regarding the corporate apartments: those
things are always booked to capacity every time someone from the GAE team
visits the Seattle office. If you really want to capture a Google employee,
set up a box like this:

http://www.shutterstock.com/pic-82554259/stock-photo-box-trap-d.html

And write the words Free ponies on it.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Fri, Dec 2, 2011 at 2:35 AM, Miles milesco...@gmail.com wrote:

 It sounds like this meetup was almost worth the 10 hour flight to
 Seattle ;)

 On Dec 1, 5:40 am, Brandon Wirtz drak...@digerat.com wrote:
  We were the rowdiest group in the place.  We with our count of 8 were
 also
  about half of the people in the joint.
 
  Greg prefixes a great many things with The opinions I am about to
 express
  are my own and do not reflect those of Google, my team members, our
  sponsors, or my family
 
  Steve built an app that teaches his daughter math, but mentioned that if
 it
  caught on it would bankrupt him proving that GAE doesn't scale as it can
 be
  Over loaded by a 9 year old girl and her computational skills.
 
  It was confirmed that the Team changed GAE's pricing just to spite me.
 Which
  is why I take such joy in the 4 Requests per second on Zero Instances.
  (That'll teach you)
 
  While the location of the GAE servers was not revealed we now know where
 the
  Google Apartment is for traveling Google Staff.  This will make abducting
  someone who knows this answer easier.
 
  While Matt will tell you that Data Store is superior to all other
 Database
  models. He won't do so publicly because he is a nice guy and won't drag
 the
  competition through the mud.
 
  Apparently I have Business Cards, but none of the Google staff did,
 because
  that would imply that Google lets them out of the Plex to interact with
  people who might want said card.
 
  It is rumored that Microsoft has a Bacon Truck for poaching valued Google
  Employees, but none of the people in attendance had seen said truck,
 lending
  to the obvious conclusion, Microsoft doesn't want any of them.
 
  No one attended in an adult mermaid costume. And our Waitress looked a
  little to Emo/Suicide Girl to ask if she would consider wearing one.
 
  -Brandon
 
  Brandon Wirtz
  BlackWaterOps: President / Lead Mercenary
 
  Description:http://www.linkedin.com/img/signature/bg_slate_385x42.jpg
 
  Work: 510-992-6548
  Toll Free: 866-400-4536
 
  IM: drak...@gmail.com (Google Talk)
  Skype: drakegreene
 
   http://www.blackwaterops.com/ BlackWater Ops
 
   image001.jpg
   1KViewDownload

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



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



Re: [google-appengine] Timeouts to Paypal

2011-12-02 Thread Ikai Lan (Google)
Vivek, is this to the Paypal sandbox or the real Paypal API?

The sandbox has been observed as being pretty slow, but the real API is
supposed to be much better.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Wed, Nov 30, 2011 at 1:49 PM, Brandon Wirtz drak...@digerat.com wrote:

 Pay pal throttles by IP, you should use their Call back method where you
 submit the request, and they hit a url when the transaction is processed.
 Also consider using a proxy to do the submission.


 -Original Message-
 From: google-appengine@googlegroups.com
 [mailto:google-appengine@googlegroups.com] On Behalf Of Vivek Puri
 Sent: Wednesday, November 30, 2011 1:28 PM
 To: Google App Engine
 Subject: [google-appengine] Timeouts to Paypal

 For the past couple weeks, we have been getting timeouts on urlfetch
 requests made to Paypal. We have set deadline of 55 seconds, and even then
 the request times out. If anyone else is also facing similar issue, please
 respond. Also, if anyone from GAE team has any ideas on this, please let me
 know.

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


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



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



Re: [google-appengine] Problem with GAE Datastore Viewer

2011-12-02 Thread Ikai Lan (Google)
HI bart,

Oy, I know what is causing this. The datastore admin is written using
Python which has validations for fields like Address or GeoPt. The Java
code does not, so it's possible to set this to null, which would cause this
to error out.

In general I advise people to use StringProperty as much as possible. To
fix this, you have two choices:

1. Change the Address property to be non-null programmatically
2. Change the property on all entities to be a String property. You'll
probably use App Engine mapreduce for this.

I'm going to make a list of polish bugs and feature requests that I'm
going to champion in an upcoming release. I'm wondering what the
implications of a quick and dirty fix to remove the validations are.
Unfortunately, if history is any kind of a teacher, the fix is NEVER that
easy.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Fri, Dec 2, 2011 at 12:55 AM, bartprokop prokop.b...@gmail.com wrote:

 Hi, My application is developed in JAVA, utilizing JDO.
 Unfortunatelly, I started today getting starnge errors - 500 when
 trying to run GQL queries on my data:

 SELECT * FROM Przedszkole where __key__ =
 Key('agtzfmUtZHppZWNrb3ITCxILUHJ6ZWRzemtvbGUYgooIDA')

 results with Server error 500 and strange message: address must not
 be empty.

 My application is http://e-dziecko.appspot.com .

 Any hint on this?

 More funny, access object programatically seems to work without any
 interruption.

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



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



RE: [google-appengine] Re: Meeting Notes from the Seattle meet-up.

2011-12-02 Thread Brandon Wirtz
I have it on good authority that one of your team mates stayed at the
apartment. He apparently has more pull in such matters than you. I'd tell
you which team mate it was, but corp perks like who has an executive wash
room key aren't secrets I give away.

 

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Ikai Lan (Google)
Sent: Friday, December 02, 2011 10:01 AM
To: google-appengine@googlegroups.com
Subject: Re: [google-appengine] Re: Meeting Notes from the Seattle meet-up.

 

Oh dude, now you are making me regret not coming along.

 

I do not condone the abduction of Google employees but I will tell you that
your intel is virtually worthless regarding the corporate apartments: those
things are always booked to capacity every time someone from the GAE team
visits the Seattle office. If you really want to capture a Google employee,
set up a box like this:

 

http://www.shutterstock.com/pic-82554259/stock-photo-box-trap-d.html

 

And write the words Free ponies on it.




--

Ikai Lan 
Developer Programs Engineer, Google App Engine

plus.ikailan.com http://plus.ikailan.com/  | twitter.com/ikai





On Fri, Dec 2, 2011 at 2:35 AM, Miles milesco...@gmail.com wrote:

It sounds like this meetup was almost worth the 10 hour flight to
Seattle ;)


On Dec 1, 5:40 am, Brandon Wirtz drak...@digerat.com wrote:
 We were the rowdiest group in the place.  We with our count of 8 were also
 about half of the people in the joint.

 Greg prefixes a great many things with The opinions I am about to express
 are my own and do not reflect those of Google, my team members, our
 sponsors, or my family

 Steve built an app that teaches his daughter math, but mentioned that if
it
 caught on it would bankrupt him proving that GAE doesn't scale as it can
be
 Over loaded by a 9 year old girl and her computational skills.

 It was confirmed that the Team changed GAE's pricing just to spite me.
Which
 is why I take such joy in the 4 Requests per second on Zero Instances.
 (That'll teach you)

 While the location of the GAE servers was not revealed we now know where
the
 Google Apartment is for traveling Google Staff.  This will make abducting
 someone who knows this answer easier.

 While Matt will tell you that Data Store is superior to all other Database
 models. He won't do so publicly because he is a nice guy and won't drag
the
 competition through the mud.

 Apparently I have Business Cards, but none of the Google staff did,
because
 that would imply that Google lets them out of the Plex to interact with
 people who might want said card.

 It is rumored that Microsoft has a Bacon Truck for poaching valued Google
 Employees, but none of the people in attendance had seen said truck,
lending
 to the obvious conclusion, Microsoft doesn't want any of them.

 No one attended in an adult mermaid costume. And our Waitress looked a
 little to Emo/Suicide Girl to ask if she would consider wearing one.

 -Brandon

 Brandon Wirtz
 BlackWaterOps: President / Lead Mercenary


 Description:http://www.linkedin.com/img/signature/bg_slate_385x42.jpg

 Work: 510-992-6548
 Toll Free: 866-400-4536


 IM: drak...@gmail.com (Google Talk)
 Skype: drakegreene

  http://www.blackwaterops.com/ BlackWater Ops

  image001.jpg
  1KViewDownload


--
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
mailto:google-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-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.

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



Re: [google-appengine] Re: Email Parser

2011-12-02 Thread Ikai Lan (Google)
Cynthia,

Here are some procmail docs:

http://sunsite.utk.edu/UNIX-help/email/procmail.html

Having used this before, I will tell you that it is not the easiest thing
in the world to debug and write for. Procmail lets you pipe raw email data
into a different process, but you still need to use a program that can
successfully parse the email, attachments, headers and lots of other weird
email spec goodness.

You definitely *don't* need Google App Engine, but if I am reading your
requirements right, you can get away with using the incoming email API:

http://code.google.com/appengine/docs/python/mail/receivingmail.html

And making a call to the spreadsheets API:

http://code.google.com/apis/spreadsheets/

I'd start by trying to get incoming email working. The nice thing about
using GAE's incoming mail API is that it makes processing email SUPER easy.
The downside is that you don't get a ton of choices about what addresses
you can use (your-app...@appspotmail.com and others).

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Fri, Dec 2, 2011 at 9:10 AM, Cynthia cynt...@tiptail.com wrote:

 Thanks for the replies.  Maybe I can do this another way.  I'm reading
 up on Procmail, maybe that's what I need.
 Cynthia

 On Dec 1, 2:15 pm, Brandon Wirtz drak...@digerat.com wrote:
  Unless there is a reason for the form to send an email, you would be
 better
  to put the forms target on appengine and convert the post data to a
  database.  Java or python can do this relatively easily, if you don't
 speak
  either now however I don't know as this is a super easy first task.
 
  The DataStorage is easy, but making a spreadsheet out of the data (if you
  want it to be editable) is not going to be simple.
 
  Personally if I were doing the project you describe I would Check out PHP
  Form Maker (Pro?)  or one of the  other form maker software suites
 depending
  on what you or your Sys admin/web host determines would be easiest in
 your
  web configuration.
 
  Not that I want to dissuade you from GAE, just don't think that the
 learning
  curve for the task is well balanced.
 
  -Brandon
 
  Brandon Wirtz
  BlackWaterOps: President / Lead Mercenary
 
  Work: 510-992-6548
  Toll Free: 866-400-4536
  IM: drak...@gmail.com (Google Talk)
  Skype: drakegreene
  BlackWater Ops
 
 
 
 
 
 
 
  -Original Message-
  From: google-appengine@googlegroups.com
 
  [mailto:google-appengine@googlegroups.com] On Behalf Of Cynthia
  Sent: Thursday, December 01, 2011 9:03 AM
  To: Google App Engine
  Subject: [google-appengine] Email Parser
 
  I'm brand new to Google App Engine and I'm not really sure I can get
  something that will do what I want. Or maybe I need to go elsewhere. I
 am a
  programmer by trade but I am still a beginner in many areas.
 
  I am looking for a way to receive emails and parse out certain
 information,
  then save the info to a DB or a Spreadsheet.  A Google Docs Spreadsheet
  would be fine, if that's possible.
 
  Would Google App Engine be able to do this? Which language would be best?
  Maybe something like this already exists that I could use?
 
  It's for a club membership list. People sign up with an HTML form, and
 the
  form emails the information to an email address. I want to pluck the data
  out of the email and have it save automatically.
 
  Thanks,
  Cynthia
 
  --
  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 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-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.



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



Re: [google-appengine] How to gracefully handle datastore timeouts

2011-12-02 Thread Ikai Lan (Google)
As far as I know, there are no plans to shut down M/S within the next 12
months. This is NOT an official announcement, so if this does change later
(I don't think it will), just know that it's a gut feeling. When there is a
plan to official deprecate master/slave, we will announce it.

Many new features will be HRD only, however. Python 2.7 is one of
them. Full text search *may* be one of them.  There are no plans to support
Python 2.7 for master/slave applications, and I don't see this changing.

I strongly recommend migrating to HRD or at least starting to investigate
the possibility.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Fri, Dec 2, 2011 at 9:03 AM, Rishi Arora rishi.ar...@ship-rack.comwrote:

 Based on this:
 http://code.google.com/appengine/docs/python/datastore/hr/

 I don't see any strong language indicating imminent deprecation.  Although
 the fact that python2.7 does not support M/S might hint at that.  If Google
 does indeed want to deprecate M/S, why wouldn't they just say it, and give
 some fixed timeline - 1 month, 6 months, 1 year, whatever.  But why hint
 it, why not just say it?  Since I don't see a strong reason for Google to
 drop subtle hints, I assumed there's no plan to deprecate M/S, and I also
 assumed that eventually when python2.5 is phased out, python2.7 will
 support M/S.  I don't see any technical reason why python2.7 can't support
 M/S either.  I can achieve nearly the same level of concurrency with
 Python2.5 (albeit at a higher cost) that I can with Python2.7, with regards
 to datastore operations.

 Can someone at Google provide some direction on long-term support (at
 least a year or so) for M/S?


 On Fri, Dec 2, 2011 at 10:07 AM, Joshua Smith joshuaesm...@charter.netwrote:

 I believe so.

 Google has made it pretty clear that M/S is deprecated and life on M/S
 will continue to get worse and worse.

 On Dec 2, 2011, at 10:54 AM, Rishi Arora wrote:

 :)  So I'm SOL, without HR?

 On Fri, Dec 2, 2011 at 9:50 AM, Joshua Smith joshuaesm...@charter.netwrote:

 You can't use 2.7 unless you migrate to HR.

 Once you migrate to HR, the datastore read timeouts go away.

 And then you don't need to migrate to 2.7.

 -Joshua

 On Dec 2, 2011, at 10:37 AM, Rishi Arora wrote:

  Earlier this morning I had a situation where datastore reads were
 timing out.  That's okay, and expected, given that I use a M/S datastore.
  However, the timeouts were of the order of 50 seconds, causing nearly 30
 front-end instances to be spawned.  My usual number of active front-end
 instances at that time of the day is about 5, peaking at 15 occasionally.
  This condition lasted only 3 minutes or so, and so, the cost impact was
 minimal.  However, I can imagine that if this lasted an hour or more, I
 would incur a lot of costs while the downtime persists.  I'm okay with such
 downtimes, as long as it only leads to my customers not being able to
 access my site.  But if it also leads to unnecessary increases in costs,
 then it calls for further optimization.  So, my loaded question is - how
 can I handle this with python2.5?  Is python 2.7 the only answer?  I
 imagine python2.7 will help because while a front-end is waiting for data
 store ops to complete, it can process other requests.  But are there other
 ways of setting specific timeouts to datastore operations?  So, if these
 operations are taking too long, I'd rather just return an error to the
 user, instead of letting my front-end run indefinitely.
 
 
  --
  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.

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



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


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

Re: [google-appengine] How to gracefully handle datastore timeouts

2011-12-02 Thread Ikai Lan (Google)
To answer the original question:

- As a general best practice, you almost always want to set a timeout for
any call that might be frequent:

http://code.google.com/appengine/docs/python/datastore/queries.html#Setting_the_Read_Policy_and_Datastore_Call_Deadline

This is true for App Engine as well as any application outside of App
Engine. You degrade gracefully by telling the user to retry or showing only
a subset of data. It sucks, but at this point you have to decide between
making the user wait a long time or showing partial results and doing an
exponential backoff.

- Use exponential backoffs if you tell your client to retry. You might show
something to the user that says loading, please wait!, but you're going
to be in hot water if you just say retry after 1 second, retry after 1
second, retry after 1 second because these will eventually pile up. You
want to do something like retry after 2 seconds + some fuzz factor, retry
after 4 seconds plus some fuzz factor, and so forth.

- I've been part of a project where there were many administrative knobs
that we could flip to gracefully degrade and turn off expensive features.
This is particularly useful when you push a new version because you can
narrow in on the component that seems to be causing your stack to break.
It's also nice because you can turn something off, gather with your team
and figure out what the plan of attack is without a full rollback. The
tradeoff is that you have to build it, and it's non-trivial to have this
all over your code, so you need to figure out which parts tend to be more
complex than others. In an ideal world, you always know what component does
what in your app, but in reality, you usually don't know that there is a
weird code path that might invoke the most expensive method call over and
over.


--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Fri, Dec 2, 2011 at 11:31 AM, Ikai Lan (Google) ika...@google.comwrote:

 As far as I know, there are no plans to shut down M/S within the next 12
 months. This is NOT an official announcement, so if this does change later
 (I don't think it will), just know that it's a gut feeling. When there is a
 plan to official deprecate master/slave, we will announce it.

 Many new features will be HRD only, however. Python 2.7 is one of
 them. Full text search *may* be one of them.  There are no plans to support
 Python 2.7 for master/slave applications, and I don't see this changing.

 I strongly recommend migrating to HRD or at least starting to investigate
 the possibility.

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 9:03 AM, Rishi Arora rishi.ar...@ship-rack.comwrote:

 Based on this:
 http://code.google.com/appengine/docs/python/datastore/hr/

 I don't see any strong language indicating imminent deprecation.
  Although the fact that python2.7 does not support M/S might hint at that.
  If Google does indeed want to deprecate M/S, why wouldn't they just say
 it, and give some fixed timeline - 1 month, 6 months, 1 year, whatever.
  But why hint it, why not just say it?  Since I don't see a strong reason
 for Google to drop subtle hints, I assumed there's no plan to deprecate
 M/S, and I also assumed that eventually when python2.5 is phased out,
 python2.7 will support M/S.  I don't see any technical reason why python2.7
 can't support M/S either.  I can achieve nearly the same level of
 concurrency with Python2.5 (albeit at a higher cost) that I can with
 Python2.7, with regards to datastore operations.

 Can someone at Google provide some direction on long-term support (at
 least a year or so) for M/S?


 On Fri, Dec 2, 2011 at 10:07 AM, Joshua Smith 
 joshuaesm...@charter.netwrote:

 I believe so.

 Google has made it pretty clear that M/S is deprecated and life on M/S
 will continue to get worse and worse.

 On Dec 2, 2011, at 10:54 AM, Rishi Arora wrote:

 :)  So I'm SOL, without HR?

 On Fri, Dec 2, 2011 at 9:50 AM, Joshua Smith 
 joshuaesm...@charter.netwrote:

 You can't use 2.7 unless you migrate to HR.

 Once you migrate to HR, the datastore read timeouts go away.

 And then you don't need to migrate to 2.7.

 -Joshua

 On Dec 2, 2011, at 10:37 AM, Rishi Arora wrote:

  Earlier this morning I had a situation where datastore reads were
 timing out.  That's okay, and expected, given that I use a M/S datastore.
  However, the timeouts were of the order of 50 seconds, causing nearly 30
 front-end instances to be spawned.  My usual number of active front-end
 instances at that time of the day is about 5, peaking at 15 occasionally.
  This condition lasted only 3 minutes or so, and so, the cost impact was
 minimal.  However, I can imagine that if this lasted an hour or more, I
 would incur a lot of costs while the downtime persists.  I'm okay with such
 downtimes, as long as it only leads to my customers not being able to
 access my site.  But if it also 

Re: [google-appengine] How to gracefully handle datastore timeouts

2011-12-02 Thread Ikai Lan (Google)
I just thought of something kind of cool: a real time knob that allows you
to change the deadlines!

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Fri, Dec 2, 2011 at 11:37 AM, Ikai Lan (Google) ika...@google.comwrote:

 To answer the original question:

 - As a general best practice, you almost always want to set a timeout for
 any call that might be frequent:


 http://code.google.com/appengine/docs/python/datastore/queries.html#Setting_the_Read_Policy_and_Datastore_Call_Deadline

 This is true for App Engine as well as any application outside of App
 Engine. You degrade gracefully by telling the user to retry or showing only
 a subset of data. It sucks, but at this point you have to decide between
 making the user wait a long time or showing partial results and doing an
 exponential backoff.

 - Use exponential backoffs if you tell your client to retry. You might
 show something to the user that says loading, please wait!, but you're
 going to be in hot water if you just say retry after 1 second, retry after
 1 second, retry after 1 second because these will eventually pile up. You
 want to do something like retry after 2 seconds + some fuzz factor, retry
 after 4 seconds plus some fuzz factor, and so forth.

 - I've been part of a project where there were many administrative knobs
 that we could flip to gracefully degrade and turn off expensive features.
 This is particularly useful when you push a new version because you can
 narrow in on the component that seems to be causing your stack to break.
 It's also nice because you can turn something off, gather with your team
 and figure out what the plan of attack is without a full rollback. The
 tradeoff is that you have to build it, and it's non-trivial to have this
 all over your code, so you need to figure out which parts tend to be more
 complex than others. In an ideal world, you always know what component does
 what in your app, but in reality, you usually don't know that there is a
 weird code path that might invoke the most expensive method call over and
 over.


 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 11:31 AM, Ikai Lan (Google) ika...@google.comwrote:

 As far as I know, there are no plans to shut down M/S within the next 12
 months. This is NOT an official announcement, so if this does change later
 (I don't think it will), just know that it's a gut feeling. When there is a
 plan to official deprecate master/slave, we will announce it.

 Many new features will be HRD only, however. Python 2.7 is one of
 them. Full text search *may* be one of them.  There are no plans to support
 Python 2.7 for master/slave applications, and I don't see this changing.

 I strongly recommend migrating to HRD or at least starting to investigate
 the possibility.

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 9:03 AM, Rishi Arora rishi.ar...@ship-rack.comwrote:

 Based on this:
 http://code.google.com/appengine/docs/python/datastore/hr/

 I don't see any strong language indicating imminent deprecation.
  Although the fact that python2.7 does not support M/S might hint at that.
  If Google does indeed want to deprecate M/S, why wouldn't they just say
 it, and give some fixed timeline - 1 month, 6 months, 1 year, whatever.
  But why hint it, why not just say it?  Since I don't see a strong reason
 for Google to drop subtle hints, I assumed there's no plan to deprecate
 M/S, and I also assumed that eventually when python2.5 is phased out,
 python2.7 will support M/S.  I don't see any technical reason why python2.7
 can't support M/S either.  I can achieve nearly the same level of
 concurrency with Python2.5 (albeit at a higher cost) that I can with
 Python2.7, with regards to datastore operations.

 Can someone at Google provide some direction on long-term support (at
 least a year or so) for M/S?


 On Fri, Dec 2, 2011 at 10:07 AM, Joshua Smith 
 joshuaesm...@charter.netwrote:

 I believe so.

 Google has made it pretty clear that M/S is deprecated and life on M/S
 will continue to get worse and worse.

 On Dec 2, 2011, at 10:54 AM, Rishi Arora wrote:

 :)  So I'm SOL, without HR?

 On Fri, Dec 2, 2011 at 9:50 AM, Joshua Smith 
 joshuaesm...@charter.netwrote:

 You can't use 2.7 unless you migrate to HR.

 Once you migrate to HR, the datastore read timeouts go away.

 And then you don't need to migrate to 2.7.

 -Joshua

 On Dec 2, 2011, at 10:37 AM, Rishi Arora wrote:

  Earlier this morning I had a situation where datastore reads were
 timing out.  That's okay, and expected, given that I use a M/S datastore.
  However, the timeouts were of the order of 50 seconds, causing nearly 30
 front-end instances to be spawned.  My usual number of active front-end
 instances at that time of the day is about 5, peaking at 15 occasionally.
  This condition 

Re: [google-appengine] Re: Email Parser

2011-12-02 Thread Rishi Arora
I solved the problem of email address choices by creating a Gmail account
(or a Google Apps account) that uses Gmail filters to forward emails to
ap...@appspotmail.com.  It has worked great, with one exception.  If Gmail
marks an incoming email as spam, it won't get forwarded.  This requires
manual intervention.

On Fri, Dec 2, 2011 at 1:28 PM, Ikai Lan (Google) ika...@google.com wrote:

 Cynthia,

 Here are some procmail docs:

 http://sunsite.utk.edu/UNIX-help/email/procmail.html

 Having used this before, I will tell you that it is not the easiest thing
 in the world to debug and write for. Procmail lets you pipe raw email data
 into a different process, but you still need to use a program that can
 successfully parse the email, attachments, headers and lots of other weird
 email spec goodness.

 You definitely *don't* need Google App Engine, but if I am reading your
 requirements right, you can get away with using the incoming email API:

 http://code.google.com/appengine/docs/python/mail/receivingmail.html

 And making a call to the spreadsheets API:

 http://code.google.com/apis/spreadsheets/

 I'd start by trying to get incoming email working. The nice thing about
 using GAE's incoming mail API is that it makes processing email SUPER easy.
 The downside is that you don't get a ton of choices about what addresses
 you can use (your-app...@appspotmail.com and others).

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 9:10 AM, Cynthia cynt...@tiptail.com wrote:

 Thanks for the replies.  Maybe I can do this another way.  I'm reading
 up on Procmail, maybe that's what I need.
 Cynthia

 On Dec 1, 2:15 pm, Brandon Wirtz drak...@digerat.com wrote:
  Unless there is a reason for the form to send an email, you would be
 better
  to put the forms target on appengine and convert the post data to a
  database.  Java or python can do this relatively easily, if you don't
 speak
  either now however I don't know as this is a super easy first task.
 
  The DataStorage is easy, but making a spreadsheet out of the data (if
 you
  want it to be editable) is not going to be simple.
 
  Personally if I were doing the project you describe I would Check out
 PHP
  Form Maker (Pro?)  or one of the  other form maker software suites
 depending
  on what you or your Sys admin/web host determines would be easiest in
 your
  web configuration.
 
  Not that I want to dissuade you from GAE, just don't think that the
 learning
  curve for the task is well balanced.
 
  -Brandon
 
  Brandon Wirtz
  BlackWaterOps: President / Lead Mercenary
 
  Work: 510-992-6548
  Toll Free: 866-400-4536
  IM: drak...@gmail.com (Google Talk)
  Skype: drakegreene
  BlackWater Ops
 
 
 
 
 
 
 
  -Original Message-
  From: google-appengine@googlegroups.com
 
  [mailto:google-appengine@googlegroups.com] On Behalf Of Cynthia
  Sent: Thursday, December 01, 2011 9:03 AM
  To: Google App Engine
  Subject: [google-appengine] Email Parser
 
  I'm brand new to Google App Engine and I'm not really sure I can get
  something that will do what I want. Or maybe I need to go elsewhere. I
 am a
  programmer by trade but I am still a beginner in many areas.
 
  I am looking for a way to receive emails and parse out certain
 information,
  then save the info to a DB or a Spreadsheet.  A Google Docs Spreadsheet
  would be fine, if that's possible.
 
  Would Google App Engine be able to do this? Which language would be
 best?
  Maybe something like this already exists that I could use?
 
  It's for a club membership list. People sign up with an HTML form, and
 the
  form emails the information to an email address. I want to pluck the
 data
  out of the email and have it save automatically.
 
  Thanks,
  Cynthia
 
  --
  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 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-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.


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


-- 
You received this message because you are subscribed to the Google 

Re: [google-appengine] How to gracefully handle datastore timeouts

2011-12-02 Thread Rishi Arora
Ikai, thank you for a comprehensive reply.  I had no idea you could set
deadlines for datastore reads, even for Master/Slave db reads.  This would
be my temporary solution until I eventually migrate to HRD.  I have already
started looking into it, with the toughest part being appropriately
managing user experience during the downtime and during the changeover to
the new app-id.  My users use an Android app and Google Accounts API in
conjunction with Android AccountManager, to interface with my GAE system,
and they could be running multiple versions of my app at any given time.

Thanks again
- Rishi

On Fri, Dec 2, 2011 at 1:38 PM, Ikai Lan (Google) ika...@google.com wrote:

 I just thought of something kind of cool: a real time knob that allows you
 to change the deadlines!

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 11:37 AM, Ikai Lan (Google) ika...@google.comwrote:

 To answer the original question:

 - As a general best practice, you almost always want to set a timeout for
 any call that might be frequent:


 http://code.google.com/appengine/docs/python/datastore/queries.html#Setting_the_Read_Policy_and_Datastore_Call_Deadline

 This is true for App Engine as well as any application outside of App
 Engine. You degrade gracefully by telling the user to retry or showing only
 a subset of data. It sucks, but at this point you have to decide between
 making the user wait a long time or showing partial results and doing an
 exponential backoff.

 - Use exponential backoffs if you tell your client to retry. You might
 show something to the user that says loading, please wait!, but you're
 going to be in hot water if you just say retry after 1 second, retry after
 1 second, retry after 1 second because these will eventually pile up. You
 want to do something like retry after 2 seconds + some fuzz factor, retry
 after 4 seconds plus some fuzz factor, and so forth.

 - I've been part of a project where there were many administrative
 knobs that we could flip to gracefully degrade and turn off expensive
 features. This is particularly useful when you push a new version because
 you can narrow in on the component that seems to be causing your stack to
 break. It's also nice because you can turn something off, gather with your
 team and figure out what the plan of attack is without a full rollback. The
 tradeoff is that you have to build it, and it's non-trivial to have this
 all over your code, so you need to figure out which parts tend to be more
 complex than others. In an ideal world, you always know what component does
 what in your app, but in reality, you usually don't know that there is a
 weird code path that might invoke the most expensive method call over and
 over.


 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 11:31 AM, Ikai Lan (Google) ika...@google.comwrote:

 As far as I know, there are no plans to shut down M/S within the next 12
 months. This is NOT an official announcement, so if this does change later
 (I don't think it will), just know that it's a gut feeling. When there is a
 plan to official deprecate master/slave, we will announce it.

 Many new features will be HRD only, however. Python 2.7 is one of
 them. Full text search *may* be one of them.  There are no plans to support
 Python 2.7 for master/slave applications, and I don't see this changing.

 I strongly recommend migrating to HRD or at least starting to
 investigate the possibility.

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 9:03 AM, Rishi Arora 
 rishi.ar...@ship-rack.comwrote:

 Based on this:
 http://code.google.com/appengine/docs/python/datastore/hr/

 I don't see any strong language indicating imminent deprecation.
  Although the fact that python2.7 does not support M/S might hint at that.
  If Google does indeed want to deprecate M/S, why wouldn't they just say
 it, and give some fixed timeline - 1 month, 6 months, 1 year, whatever.
  But why hint it, why not just say it?  Since I don't see a strong reason
 for Google to drop subtle hints, I assumed there's no plan to deprecate
 M/S, and I also assumed that eventually when python2.5 is phased out,
 python2.7 will support M/S.  I don't see any technical reason why python2.7
 can't support M/S either.  I can achieve nearly the same level of
 concurrency with Python2.5 (albeit at a higher cost) that I can with
 Python2.7, with regards to datastore operations.

 Can someone at Google provide some direction on long-term support (at
 least a year or so) for M/S?


 On Fri, Dec 2, 2011 at 10:07 AM, Joshua Smith joshuaesm...@charter.net
  wrote:

 I believe so.

 Google has made it pretty clear that M/S is deprecated and life on M/S
 will continue to get worse and worse.

 On Dec 2, 2011, at 10:54 AM, Rishi Arora wrote:

 :)  So I'm SOL, 

Re: [google-appengine] Offering a Google App Engine service: using the logo?

2011-12-02 Thread Ikai Lan (Google)
Stephanos,

You'll definitely want to talk to a lawyer. What you are doing is different
from what Brandon is doing. It's one thing to say you are powered by App
Engine, and I would imagine it's something totally different to imply that
you have any deeper relationship with Google (via partnership). I'm not a
lawyer, however, so I can't interpret this for you.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Fri, Dec 2, 2011 at 1:23 AM, Brandon Wirtz drak...@digerat.com wrote:

 Not a lawyer, not a Google Employee, and I don’t know what your request
 said…

 ** **

 I had no trouble getting permission for 

 ** **

 “Powered by the Google App Engine™ platform”

 ** **

 With the “Jet” logo. Approved.   Though I did so very early.

 ** **

 (They make you send actual paper in the mail. I didn’t have to send actual
 paper for an NDA. They are very serious about logos)

 ** **

 ** **

 *From:* google-appengine@googlegroups.com [mailto:
 google-appengine@googlegroups.com] *On Behalf Of *stephanos
 *Sent:* Friday, December 02, 2011 1:14 AM
 *To:* google-appengine@googlegroups.com
 *Subject:* [google-appengine] Offering a Google App Engine service: using
 the logo?

 ** **

 Hi,

 ** **

 I'm developing a error tracking service called http://crashnote.com and
 one of the platforms I want to target is the App Engine. Obviously I want
 to make this very clear on my landing page, so I thought using the logo is
 a great way of doing this.

 ** **

 Today I received a response to my request which said we cannot approve
 your request. I can understand them, I mean I wouldn't want anyone to use
 my logo and misguide users.

 ** **

 But I want to be a legit SaaS offering for this App Engine platform, there
 must be some way to become an official partner.

 ** **

 I'd be happy to hear advice/suggestions.

 ** **

 ** **

 Regards,

 Stephan

 --
 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/-/xlQqO89xKrAJ.
 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.

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


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



Re: [google-appengine] to redeem back deleted Application Identifier

2011-12-02 Thread Ikai Lan (Google)
Pete,

When you use the migration tool, it'll allow you to create an alias from
your old application ID to your new one. Your new app should still serve at
castbird.appspot.com.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Tue, Nov 29, 2011 at 12:56 AM, Pete chanyee...@gmail.com wrote:

 I am going to migrate to high replication datastore and I do not prefer
 the version castbird-hrd as the Application Identifier. So I use a
 temporary application identifier and remove the castbird because there is
 no option for me to change to high replication.

 My question is is there a chance for me to redeem back the
 deleted Application Identifier?

 --
 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/-/ImvVI25ZGQQJ.
 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.


-- 
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] db.get() on a list of keys being split into multiple get_async() calls as opposed to a single get_async() call

2011-12-02 Thread Bryce Cutt
Did the production server change the way it handles a db.get() on a
list of keys? I believe it used to do a single get_async on the list
of keys but now it appears that it is doing a get_async for each key
(according to appstats). The development server is still doing a
single get_async for the entire list.

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



Re: [google-appengine] How to gracefully handle datastore timeouts

2011-12-02 Thread Ikai Lan (Google)
You can also set the consistency guarantees to EVENTUALLY_CONSISTENT. Even
on master/slave datastore, this fails over to a read-slave. The tradeoff is
you might have consistency issues.

Here's a pretty good read about consistency vs. availability tradeoffs:

http://codahale.com/you-cant-sacrifice-partition-tolerance/

It's good to know this stuff so you have it in your back pocket.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Fri, Dec 2, 2011 at 11:49 AM, Rishi Arora rishi.ar...@ship-rack.comwrote:

 Ikai, thank you for a comprehensive reply.  I had no idea you could set
 deadlines for datastore reads, even for Master/Slave db reads.  This would
 be my temporary solution until I eventually migrate to HRD.  I have already
 started looking into it, with the toughest part being appropriately
 managing user experience during the downtime and during the changeover to
 the new app-id.  My users use an Android app and Google Accounts API in
 conjunction with Android AccountManager, to interface with my GAE system,
 and they could be running multiple versions of my app at any given time.

 Thanks again
 - Rishi


 On Fri, Dec 2, 2011 at 1:38 PM, Ikai Lan (Google) ika...@google.comwrote:

 I just thought of something kind of cool: a real time knob that allows
 you to change the deadlines!

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 11:37 AM, Ikai Lan (Google) ika...@google.comwrote:

 To answer the original question:

 - As a general best practice, you almost always want to set a timeout
 for any call that might be frequent:


 http://code.google.com/appengine/docs/python/datastore/queries.html#Setting_the_Read_Policy_and_Datastore_Call_Deadline

 This is true for App Engine as well as any application outside of App
 Engine. You degrade gracefully by telling the user to retry or showing only
 a subset of data. It sucks, but at this point you have to decide between
 making the user wait a long time or showing partial results and doing an
 exponential backoff.

 - Use exponential backoffs if you tell your client to retry. You might
 show something to the user that says loading, please wait!, but you're
 going to be in hot water if you just say retry after 1 second, retry after
 1 second, retry after 1 second because these will eventually pile up. You
 want to do something like retry after 2 seconds + some fuzz factor, retry
 after 4 seconds plus some fuzz factor, and so forth.

 - I've been part of a project where there were many administrative
 knobs that we could flip to gracefully degrade and turn off expensive
 features. This is particularly useful when you push a new version because
 you can narrow in on the component that seems to be causing your stack to
 break. It's also nice because you can turn something off, gather with your
 team and figure out what the plan of attack is without a full rollback. The
 tradeoff is that you have to build it, and it's non-trivial to have this
 all over your code, so you need to figure out which parts tend to be more
 complex than others. In an ideal world, you always know what component does
 what in your app, but in reality, you usually don't know that there is a
 weird code path that might invoke the most expensive method call over and
 over.


 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 11:31 AM, Ikai Lan (Google) ika...@google.comwrote:

 As far as I know, there are no plans to shut down M/S within the next
 12 months. This is NOT an official announcement, so if this does change
 later (I don't think it will), just know that it's a gut feeling. When
 there is a plan to official deprecate master/slave, we will announce it.

 Many new features will be HRD only, however. Python 2.7 is one of
 them. Full text search *may* be one of them.  There are no plans to support
 Python 2.7 for master/slave applications, and I don't see this changing.

 I strongly recommend migrating to HRD or at least starting to
 investigate the possibility.

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Fri, Dec 2, 2011 at 9:03 AM, Rishi Arora 
 rishi.ar...@ship-rack.comwrote:

 Based on this:
 http://code.google.com/appengine/docs/python/datastore/hr/

 I don't see any strong language indicating imminent deprecation.
  Although the fact that python2.7 does not support M/S might hint at that.
  If Google does indeed want to deprecate M/S, why wouldn't they just say
 it, and give some fixed timeline - 1 month, 6 months, 1 year, whatever.
  But why hint it, why not just say it?  Since I don't see a strong reason
 for Google to drop subtle hints, I assumed there's no plan to deprecate
 M/S, and I also assumed that eventually when python2.5 is phased out,
 python2.7 will support M/S.  I don't see any technical reason why 
 

[google-appengine] Re: How to Filter the logs based on instance or loading_request using Labels

2011-12-02 Thread Scott Murphy
Wow, so nobody knows if this is possible?

On Nov 23, 4:37 pm, Scott Murphy sc...@pixoto.com wrote:
 I would like to Filter all 500 requests for a specific instance.  Is this
 possible using labels?

 I don't know which label to use for instance and/or loading_request?

 The information I want is in the first line of the log

 0.1.0.3 - - [23/Nov/2011:16:05:58 -0800] GET /_ah/warmup HTTP/1.1 500 0 - - 
 10.354882841056537036.myapp.appspot.com ms=68570 cpu_ms=31239 api_cpu_ms=65 
 cpm_usd=0.867775 loading_request=1 exit_code=104 
 instance=00c61b117cde1998d024f2dbbd67e9f4d3dc1f

 So I want to do something like
 status:500, instance:00c61b117cde1998d024f2dbbd67e9f4d3dc1f

 but the valid labels are:

 Valid labels:

    - day,
    - month,
    - year,
    - hour,
    - minute,
    - second,
    - tzone,
    - remotehost,
    - identd_user,
    - user,
    - status, bytes,
    - referrer,
    - useragent,
    - method,
    - path,
    - querystring,
    - protocol,
    - request_id_hash

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



RE: [google-appengine] How to Filter the logs based on instance or loading_request using Labels

2011-12-02 Thread Brandon Wirtz
I think the bigger thing was no one thinks this is worth doing.  What are
you going to learn?

 

Using Local Instance memory you need to assign a Who am I entity.

I would do this using 24 Adjectives for the Hour of the day, 60 Nouns for
the minutes and the seconds of the minute would be a number, and then pick a
place as a random dice roll

 

Use defined warm up function to start your instance, and the only thing that
warm up will do is pick a name for your Instance.

 

Do Warmup would then return

Hi, I am RedAngel22InTheSky

 

Or 

Hi, I am PurplePuppy24OnEarth

 

All logs there after you would prefix with the instance name.

 

You can then search for RedAngel22InTheSky in the logs.

 

You may wish to dump logs to data store every so often on a cron as well.

 

If you need a naming convention I can likely dig one up, Hours are A-X
(0-23) Minutes are just random things. and Places were always just 10 random
choices.   Very low probability of collisions unless your app scales by
more than 3 instances a second.  The advantage of naming this way is that
instances spawned together will have similar prefixes unless you have issues
on the change of the hour. 

 

 

 

From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Scott Murphy
Sent: Wednesday, November 23, 2011 4:37 PM
To: google-appengine@googlegroups.com
Subject: [google-appengine] How to Filter the logs based on instance or
loading_request using Labels

 

I would like to Filter all 500 requests for a specific instance.  Is this
possible using labels?

 

I don't know which label to use for instance and/or loading_request?

 

The information I want is in the first line of the log

 

0.1.0.3 - - [23/Nov/2011:16:05:58 -0800] GET /_ah/warmup HTTP/1.1 500 0 -
- 10.354882841056537036.myapp.appspot.com ms=68570 cpu_ms=31239
api_cpu_ms=65 cpm_usd=0.867775 loading_request=1 exit_code=104
instance=00c61b117cde1998d024f2dbbd67e9f4d3dc1f

 

So I want to do something like

status:500, instance:00c61b117cde1998d024f2dbbd67e9f4d3dc1f

 

but the valid labels are:

 

Valid labels:

. day,

. month,

. year,

. hour,

. minute,

. second,

. tzone,

. remotehost,

. identd_user,

. user,

. status, bytes,

. referrer,

. useragent,

. method,

. path,

. querystring,

. protocol,

. request_id_hash

 

 

 

-- 
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/-/O2Ndn_cFnksJ.
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.

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