[google-appengine] Re: entity stuck at the wrong end of the index

2009-04-15 Thread Matthew Blain

Hi Ben,
One possible way to handle this is to retrieve the top 10 items in
your 'queue', then loop through them in a transaction until you find
one which is not recent.

Better yet, you can cache this query--query a bit more, say 100 items,
save the keys into some simple structure in memcache, and consider
using memcache.incr to track where you are in those 100 items as you
test for the ability to pull off the queue--I assume you don't need to
assign these in exact order to your users.

something like this pseudocode:

get top item from the queue():
 possiblekeys = memcache.get("queuekeys")
 index = memcache.incr("queueindex")
 if index is None or index > len(possiblekeys):
   fallback to current code which does the query of the top 1 item
 else:
   key = possiblekeys[index]
   in transaction:
 check that date is not recent
 update date
   if transaction succeeded:
 return db.get(key)
   else:
 return gettopitemfromqueue()

then some code to fill the queue:
fillqueue():
  possibleEntities query(500 most recent items)
  possibleKeys = [keys of possibleEntities]
  memcache.set_multi({"queuekeys": possibleKeys, "queueindex": 0})

then you need to fill the queue somehow--either some sort of mechanism
when the cached queue is almost empty (which has mild locking issues),
or some external mechanism like cron.

--Matthew


On Apr 15, 1:31 pm, Ben Nevile  wrote:
> This is happening frequently today.  I think it must expose a weakness
> in the transaction code.  Hey, I know that what I'm doing with this
> code is totally lame -- basically causing many many transaction
> collisions - but clearly there's a problem here with the transaction
> code that creates the possibility of corrupting an entity.  Not not
> not not cool.
>
> I'm working under a harsh time constraint right now (start of hockey
> playoffs) and my users need this crappy queue I've set up, so I'm not
> currently at liberty to leave one of these entities in its corrupted
> state for very long.  But I would like to work with Google to get this
> sorted out.
>
> Ben
>
> On Apr 15, 8:04 am, Ben Nevile  wrote:
>
> > To add another twist, now I have an entity at the top of the stack
> > that is found using
>
> >   q = FacebookUser.all()
> >   q.filter('authorized = ',True)
> >   q.order('last_nudged_at')
> >   u = q.get()
>
> > but, if you try to load this entity by key, as you need to do for a
> > transaction, you get None back.   Trying to access that entity's
> > record in the Data Viewer also threw an exception.  I was, however,
> > able to delete it from the top of that index listing using the Data
> > Viewer's GQL option.
>
> > Ben
>
> > On Apr 14, 3:38 pm, BenNevile wrote:
>
> > > Hi Jeff,
>
> > > To clarify, the last_nudged_at property *is* changed, but the entity
> > > stays at the top of the stack.
>
> > > Ben
>
> > > On Apr 14, 12:26 pm, Jeff S  wrote:
>
> > > > Hi Ben,
>
> > > > If you are experiencing write contention on some of these updates,
> > > > then that may explain why the last_nudged_at  property is not changed
> > > > and an entity tends to stay at the top of the stack. Do you see
> > > > datastore timeout errors in these cases (I imagine the exception may
> > > > be hidden somewhere in the JavaScript <--> server exchange)?
>
> > > > Thank you,
>
> > > > Jeff
>
> > > > On Apr 14, 11:48 am, BenNevile wrote:
>
> > > > > bump.  I have observed this many times over the past few days.  Maybe
> > > > > has to do with transactions and/or write contention, since there is a
> > > > > lot of that in my app.
>
> > > > > Ben
>
> > > > > On Apr 1, 8:23 pm, BenNevile wrote:
>
> > > > > > Hi GAE team and devotees,
>
> > > > > > I have a entity that looks like
>
> > > > > > class FacebookUser(db.Model):
> > > > > >   expired_fotm =  db.BooleanProperty()
> > > > > >   last_nudged_at =db.DateTimeProperty()
>
> > > > > > and an index that looks like
>
> > > > > > - kind: FacebookUser
> > > > > >   properties:
> > > > > >   - name: expired_fotm
> > > > > >   - name: last_nudged_at
>
> > > > > > Unbeknownst to the users of my application, some javascript is
> > > > > > constantly polling a worker handler that finds the first entity in 
> > > > > > the
> > > > > > index, operates on it, then sets "last_nudged_at" to the current
> > > > > > time.  There are more than a million of these entities so it takes
> > > > > > some time to go through them all.
>
> > > > > > This afternoon using the Data Viewer and the GQL query "SELECT * 
> > > > > > FROM
> > > > > > FacebookUser where expired_fotm=True order by last_nudged_at" I
> > > > > > observed several times that an entity would remain "stuck" in the
> > > > > > first position in the index after it was processed.  Usually it 
> > > > > > would
> > > > > > remain there only for 10-30 seconds.  However this evening one 
> > > > > > entity
> > > > > > stayed in an incorrect index position for several hours.  I put() it
> > > > > > again and it properly indexed 

[google-appengine] Re: Cron Schedule Format parsing error

2009-04-15 Thread 风笑雪
try this:every day of month 09:00

The document is wrong, i met the same error.

2009/4/16 Anthony Baxter 

>
> Would something as simple as "every day 09:00" be enough? (No it's not
> there yet, just enquiring).
>
> On Apr 15, 9:10 pm, an0  wrote:
> > Dan, It is nice to see quick response and even better, quick reactions.
> > And I'm really glad to hear that the "every month" shortcut given in the
> > "premature" doc is indeed going to work; but what about the "everyday"
> > shortcut?
> >
> > On Wed, Apr 15, 2009 at 12:44 PM, Dan Sanderson  >wrote:
> >
> >
> >
> > > My apologies for the frustration.  I'll get the docs fixed.  (There is
> a
> > > pending fix that makes the example work, but it didn't get out in time
> for
> > > launch.)
> > > *hangs head in shame*
> >
> > > -- Dan
> >
> > > On Tue, Apr 14, 2009 at 8:27 PM, an0  wrote:
> >
> > >>  Yes, it is quite verbose, and I am using the long trivial 'day of
> week'
> > >> list, too.
> >
> > >> However, whatsoever, it is not reasonable that the very first example
> they
> > >> gave does not work. What a shame to doc writer and what a frustration
> to the
> > >> readers, including me:(
> >
> > >> On Tue, Apr 14, 2009 at 8:18 PM, daly  wrote:
> >
> > >>> I tried and met this error too.
> > >>> You can solve it by
> > >>> every mon of month 09:00
> >
> > >>> month looks like replacing all months,
> > >>> but there seems no abbr. for weekdays,
> > >>> so I have to using
> > >>> "every mon,tue,wed,thu,fri,sat,sun of month 00:00"
> > >>> for my target
> >
> > >>> hope they can add 'days' or 'day' for replacing the long days string
> >
> > >> --
> > >> Hell boy is cool, but let me be healthy boy first.
> >
> > --
> > Hell boy is cool, but let me be healthy boy first.
> >
>

--~--~-~--~~~---~--~~
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: Cron Schedule Format parsing error

2009-04-15 Thread Anthony Baxter

Would something as simple as "every day 09:00" be enough? (No it's not
there yet, just enquiring).

On Apr 15, 9:10 pm, an0  wrote:
> Dan, It is nice to see quick response and even better, quick reactions.
> And I'm really glad to hear that the "every month" shortcut given in the
> "premature" doc is indeed going to work; but what about the "everyday"
> shortcut?
>
> On Wed, Apr 15, 2009 at 12:44 PM, Dan Sanderson 
> wrote:
>
>
>
> > My apologies for the frustration.  I'll get the docs fixed.  (There is a
> > pending fix that makes the example work, but it didn't get out in time for
> > launch.)
> > *hangs head in shame*
>
> > -- Dan
>
> > On Tue, Apr 14, 2009 at 8:27 PM, an0  wrote:
>
> >>  Yes, it is quite verbose, and I am using the long trivial 'day of week'
> >> list, too.
>
> >> However, whatsoever, it is not reasonable that the very first example they
> >> gave does not work. What a shame to doc writer and what a frustration to 
> >> the
> >> readers, including me:(
>
> >> On Tue, Apr 14, 2009 at 8:18 PM, daly  wrote:
>
> >>> I tried and met this error too.
> >>> You can solve it by
> >>> every mon of month 09:00
>
> >>> month looks like replacing all months,
> >>> but there seems no abbr. for weekdays,
> >>> so I have to using
> >>> "every mon,tue,wed,thu,fri,sat,sun of month 00:00"
> >>> for my target
>
> >>> hope they can add 'days' or 'day' for replacing the long days string
>
> >> --
> >> Hell boy is cool, but let me be healthy boy first.
>
> --
> Hell boy is cool, but let me be healthy boy first.
--~--~-~--~~~---~--~~
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: What do you use this for?

2009-04-15 Thread 风笑雪
GAE is free to get start, has many develops and users who can help
you resolve problem, use a CDN to ensure the speed wherever visitors come
from, and so much more.
And I use it to learn web developing in Python, it offers
an excellent environment for study.

2009/4/16 Banaticus 

>
> I guess I'm not seeing the advantages of the Google App Engine right
> off the bat.  What types of services are you deploying that others are
> using?  Currently, I'm just envisioning how I could use this to power
> services for a website... but then why wouldn't I just upload the java
> or python?  Ok, there are some hosting packages that don't allow for
> java or python to be uploaded, but aren't those few and far between?
> What're you using this for?
> >
>

--~--~-~--~~~---~--~~
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] What do you use this for?

2009-04-15 Thread Banaticus

I guess I'm not seeing the advantages of the Google App Engine right
off the bat.  What types of services are you deploying that others are
using?  Currently, I'm just envisioning how I could use this to power
services for a website... but then why wouldn't I just upload the java
or python?  Ok, there are some hosting packages that don't allow for
java or python to be uploaded, but aren't those few and far between?
What're you using this for?
--~--~-~--~~~---~--~~
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: Java Vs Python

2009-04-15 Thread lok

How about the function in Google App Engine
is it everything in GAE can done by Python = can be done by Java in
GAE ??

On Apr 15, 11:06 pm, 风笑雪  wrote:
> I can give you some result of db operation using Python.
> I did this test last week, but I can't find my code now...
>
> Someone can give a Java benchmark?
>
> result unit: second
>
> add 100 entities:
>
> 1.07751011848
> 1.78107213974
> 0.826889038086
> 2.46827101707
> 0.966767072678
>
> fetch 100 entities:
>
> 0.0892021656036
> 0.108892917633
> 0.105209112167
> 0.0894641876221
> 0.1026699543
>
> update 100 entities:
>
> 0.893841028214
> 0.999007940292
> 1.11865115166
> 1.06479501724
> 0.981703996658
>
> delete 100 entities:
>
> 0.81419301033
> 0.84040594101
> 0.949120998383
> 0.903990030289
> 0.863884925842
>
> 2009/4/15 Sylvain 
>
>
>
>
>
> > We need a benchmark :)
>
> > On 15 avr, 16:32, 风笑雪  wrote:
> > > I think right now, Python is more powerful and easier than Java in
> > GAE.You
> > > need much less configuration and code to do a same thing in Python.
>
> > > In my opinion, Python will save you 60% to 80% time of coding, but runs 5
> > to
> > > 10 times slower than Java.
> > > However, about 80% time is cost in db operation, and there won't be much
> > > difference their performance. (I haven't test it yet.)
>
> > > 2009/4/15 lok 
>
> > > > As my corp only use .net and Java
> > > > My SA told me to study what is the difference between Java  and Python
> > > > in terms of their functionality and performance .
> > > > Is that everything can be done by Python  can also be done by java in
> > > > Google App ?- Hide quoted text -
>
> - Show quoted text -
--~--~-~--~~~---~--~~
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: database access by more than one application

2009-04-15 Thread Jason (Google)
I second Vaswani's suggestion. At this time, there is no way to directly
access another application's datastore outside of setting up an interface
yourself to retrieve and return data from a certain endpoint of one app for
use with the other.

- Jason

On Tue, Apr 14, 2009 at 6:24 PM, Gopal Vaswani wrote:

> Hi,
>
> Why can't you have different views for internal and external users in the
> same application. You can have different authentication for these views.
> Vaswani
>
>
> On Tue, Apr 14, 2009 at 2:38 PM, bamkraxler  wrote:
>
>>
>> Can the database be accessed from more than one application?  I would
>> like to have one application for external users and another for
>> internal users, both of which access the same database.  Basically,
>> external users will add information to the database and internal users
>> will run reports, etc.  I've looked everywhere on the Google App
>> Engine web site and cannot find any information on accessing the
>> database from more than one application.  Many 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: Severe scalability problems - getting http server 500 error under heavy load.

2009-04-15 Thread boson

You need to ramp up your tests over many minutes to allow GAE to spawn
enough instances to handle the traffic.  I don't know their exact
algorithm, but I know it takes time to scale up.

On Apr 15, 1:33 pm, Anonymous Coderrr  wrote:
> Good points.
>
> I rewrote the test so it fires off 20 requests from 20 distinct ip
> addresses simultaneously, once a second 10 times.
>
> In effect 20 concurrent requests, once a second.
>
> I had about 15% loss and the request time degradation was there.  (2
> seconds to fulfill a request on an idle system, 15 seconds under
> load).
>
> This still is no where near advertised load rates.
>
> On Apr 15, 2:19 am, Barry Hunter  wrote:
>
> > One thing that has become apprent is appengine, is designed to scale
> > under real world usage.
>
> > So if your App went from 0/1 users to 500 in a matter of seconds, then
> > the system wont work well. You need to ramp up the usage slowly.
>
> > Even a slashdotting would result in a 'ramp' usage.
>
> > Also 500 users coming from once source, might be a bit suspicios, and
> > appengine could be weary of a DOS attack.
>
> > On 15/04/2009, Anonymous Coderrr  wrote:
>
> > >  I have a fairly simple app - it looks up a couple of objects from the
> > >  google datastore and then creates a page from django template - pure
> > >  vanilla.
>
> > >  I wanted to see how my app would perform under heavy load, so I set up
> > >  a simulation where 500 virtual web-browsers would attempt to request
> > >  my page twice - exactly at the same time.
>
> > >  The results were dismal!!  Nearly 50% of the requests resulted in a
> > >  "HTTP response code: 500" from GAE - not my application, but
> > >  apparently GAE itself.
>
> > >  I check my dashboard logs - no errors from my application.  No errors
> > >  anywhere I could find.
>
> > >  What can I do?  I'm not expecting 500 requests per second, but
> > >  certainly maybe 100.  The best rate I can get according to the
> > >  dashboard is about 4.5 requests per second.  The dev server running on
> > >  my laptop does better than that!!!
>
> > >  Thanks
>
> > --
> > Barry
>
> > -www.nearby.org.uk-www.geograph.org.uk--Hide quoted text -
>
> > - Show quoted text -
--~--~-~--~~~---~--~~
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: Facebook performance issues

2009-04-15 Thread boson

As Ben said, where is that number coming from?  It sounds unusually
large.  Check your GAE logs to see if it's ms-CPU or what.  Note that
if you make multiple FB API calls, your handler will take as long as
all of the round trips to FB and back.

FYI there is a GAE+Facebook group here:
http://groups.google.com/group/facebook-and-google-app-engine

On Apr 14, 4:44 pm, Joe  wrote:
> I recently launched a Facebook application using Google AE as the
> backend (http://apps.facebook.com/lawoflargenumbers/).
>
> Unfortunately, the app is showing an average HTTP response time of
> approx 1300 ms...which is quite poor.  Can anybody tell me if this is
> normal for Facebook apps using AE as the backend?
>
> thanks,
>
> Joe
--~--~-~--~~~---~--~~
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: Remove naked domain from appengine application

2009-04-15 Thread Jeff S (Google)
To my knowledge, no, naked domains are not supported. There was a
once-upon-a-time workaround, but it has since been deprecated. I'm assuming
that mifki had set up this workaround and now wants to undo it. Is that
correct mifki?

Thank you,

Jeff

On Wed, Apr 15, 2009 at 5:05 PM, codingGirl
wrote:

>
> Naked domains are now supported in Google Apps? How? Is there a doku
> on how to do it?
> >
>

--~--~-~--~~~---~--~~
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: Remove naked domain from appengine application

2009-04-15 Thread codingGirl

Naked domains are now supported in Google Apps? How? Is there a doku
on how to do it?
--~--~-~--~~~---~--~~
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] transform URL for files from datastore?

2009-04-15 Thread astrid.thuec...@googlemail.com

I've seen some people hosting on the appengine to encode their urls
for data from the datastore (non-static data) in the following way:

http://abc.appspot.com?index=2&model=1 becomes something like
http://abc.appspot.com/index/2/model/1

whats the point in doing that and how can I easily do it? Is there a
function for that that encodes and decodes those urls?

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: Remove naked domain from appengine application

2009-04-15 Thread Jeff S (Google)

Hi mifki,

Could I see a bit more detail about your current setup? What are your
DNS settings for the naked domain? I know some users had set up
forwarding with their domain service provider and it sounds like you
want to undo the naked domain masking.

Thank you,

Jeff

On Apr 14, 2:32 pm, mifki  wrote:
> I have appengine application installed for my google 
> appsdomainandnakeddomainspecified for it. I can't neitherremovethatdomainnor
> disable entire application. I know this is common problem 
> afternakeddomaindisallowed but I didn't find any solution or whom to contact 
> to
> solve this problem. Any help?
>
> I think this problem is more Google Apps-related than App Engine-
> related but I asked in Google Apps support group
>
> http://www.google.com/support/forum/p/Google+Apps/thread?fid=2cc94e6c...
>
> but Advisor said she can't help with any App Engine problems, so I'm
> trying to aske here.
--~--~-~--~~~---~--~~
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: Silly db.TextProperty question

2009-04-15 Thread Paul Kinlan
Hmm, it is very weird, my code is nearly exactly the same yet the data
doesn't get persisted.

Paul.

2009/4/15 风笑雪 

> Seems no problems with me:
>
> class Msg(db.Model):
>   text = db.TextProperty()
>
> class Handler(webapp.RequestHandler):
>   def get(self):
> msg = Msg.all().get()
> if not msg:
>   msg = Msg(text='')
> msg.text += ' ' + self.request.get('data')
> msg.put()
> self.response.out.write(msg.text)
>
>
> 2009/4/15 Paul Kinlan 
>
> Hi,
>>
>> I swear this used to work.
>>
>> I have a TextProperty on one of models, and I append to it as follows:
>>
>> user.blocked_user_list = user.blocked_user_list + " " + unfollower
>> user.put()
>>
>> However, I am noticing now that the "blocked_user_list" property is not
>> getting updated when it the user entity is put to the datastore.  I am
>> pretty positive this used to work correctly because there is data in many of
>> the entities.
>>
>> Has something changed recently?  Am I being dim?
>>
>> Paul
>>
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
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: Entire site down now..

2009-04-15 Thread Matthew Blain

We are investigating this deployment issue now.

You can redeploy using an alternate major version in your app.yaml
file, test the major version using
.latest.yourapp.appspot.com, then switch major versions
using the set default version feature of the Admin Console.

--Matthew

On Apr 15, 4:00 pm, Ben Nevile  wrote:
> I went to the "Versions" pane of the Administration section and no
> version was highlighted as a default.  So I chose one and made it the
> default.  Now pages are serving again.   
>
> scared to deploy...
> Ben
>
> On Apr 15, 3:39 pm, bvelasquez  wrote:
>
> > Ok, I'm not happy it happened to you, but now know it's not something
> > I did.
>
> > Bah!
>
> > Help Google!
>
> > Barry
>
> > On Apr 15, 3:38 pm, Ben Nevile  wrote:
>
> > > It's not just you.  One of my apps is down too.  I was getting errors
> > > deploying, and now it has completely shut off.
>
> > > The timing of this is TERRIBLE for me.  Biggest few hours of the year
> > > for my particular application are about to happen between 4pm and 10pm
> > > PST tonight.  PLEASE Google help!
>
> > > Ben
>
> > > On Apr 15, 3:32 pm, bvelasquez  wrote:
>
> > > > Error: Not Found
> > > > The requested URL / was not found on this server.
>
> > > > My entire site is gone now.
>
> > > >http://www.tapingya.comorhttp://tapingya.appspot.com
>
> > > > Is this just me or a GAE issue?
>
> > > > Barry
--~--~-~--~~~---~--~~
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: favicon.ico

2009-04-15 Thread CroickAmat

Hi ajkot, I struggled with this too and eventually I was able to get
it working by making the reference to favicon.ico explicit in the HTML
files for my pages, such as this one





Autelic Demo App - {{ page_header }}
..

and having the .png file in my ./images/ directory off course.

--~--~-~--~~~---~--~~
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] Discussion on google-app-engine-open-source-projects

2009-04-15 Thread CroickAmat

Looking for volunteers for open-source Google App Engine development
of demo for non-profit association

Autelic (www.autelic.org) is a non-profit association working to
provide simplified technology solutions to novices, particularly the
elderly. Check our web-site for more info.

We'd like to develop an open-source demonstrator of a service for
sharing photos and messages between "full web users" and a novice
using a "web top client". We decided that Google App Engine (GAE) was
a good, zero cost place to start.

So, we've started an open-source GAE application to this end on Google
code ( http://code.google.com/p/autelicdemo/ ) and we're looking for
developers who are willing to work with us on it on a volunteer, no
pay, basis.

There are more details on the wiki at http://code.google.com/p/autelicdemo/
but if you have any of the following skills (or want to learn them
with a real project for a good cause!) and are willing to contribute
your time then we'd love to hear from you:-
- GAE developer (python, Google Data APIs, xml)
- Web developer (html, forms, css)
- UI developer (Javascript, Flash, etc)

Just to be clear: non-profit association, voluntary basis, no pay,
open source, total transparency and sharing.
You can contact me here, or e-mail to: "info at autelic dot org"

--~--~-~--~~~---~--~~
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] Newbie Question: Sanitizing web input?

2009-04-15 Thread KenCorey

Hi All,

I'm coming from a LAMP-style background where one had to be pretty
careful about what's allowed near the database.

This is also my first Python code, so it's a learning curve for me.

I've heard that the psycopg Postgres SQL interface handles strange
HTML sent to it automagically (refer to:
http://www.modpython.org/pipermail/mod_python/2004-December/016984.html).

I also found a fairly indepth discussion of sanitising here:
http://stackoverflow.com/questions/16861/sanitising-user-input-using-python

My application simply allows for text inputs.  Further, the data you
enter in the fields is not visible by anyone but you (and me as the
developer, natch). No HTML, nothing but text.  I'm considering using
the 'sanitizeHtml' function listed in the second article above.

But is it truly necessary?  I gather that Gql is not SQL.  Does it
offer the same scope for mischief?  Is sanitisation completely
necessary on AppEngine?

If so, what /in particular/ should I worry about?  I mean, I don't
have to worry about commands being passed to a shell, as shells aren't
run here.  Do I need to worry about SQL injection?  What pitfalls
other than these two do I not know about? XSS seems self-defeating, as
nobody else other than the author and myself can see malicious code.

Thanks for any input!

-Ken

--~--~-~--~~~---~--~~
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: Entire site down now..

2009-04-15 Thread Ben Nevile

I went to the "Versions" pane of the Administration section and no
version was highlighted as a default.  So I chose one and made it the
default.  Now pages are serving again.   

scared to deploy...
Ben

On Apr 15, 3:39 pm, bvelasquez  wrote:
> Ok, I'm not happy it happened to you, but now know it's not something
> I did.
>
> Bah!
>
> Help Google!
>
> Barry
>
> On Apr 15, 3:38 pm, Ben Nevile  wrote:
>
>
>
> > It's not just you.  One of my apps is down too.  I was getting errors
> > deploying, and now it has completely shut off.
>
> > The timing of this is TERRIBLE for me.  Biggest few hours of the year
> > for my particular application are about to happen between 4pm and 10pm
> > PST tonight.  PLEASE Google help!
>
> > Ben
>
> > On Apr 15, 3:32 pm, bvelasquez  wrote:
>
> > > Error: Not Found
> > > The requested URL / was not found on this server.
>
> > > My entire site is gone now.
>
> > >http://www.tapingya.comorhttp://tapingya.appspot.com
>
> > > Is this just me or a GAE issue?
>
> > > Barry
--~--~-~--~~~---~--~~
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: Entire site down now..

2009-04-15 Thread bvelasquez

Ok, the version of the application (the only version I have) was not
"default."  I clicked the "Make Default" button and now the site is
running again.  I did not change this, so I'm not sure why this
affected my app. today.

Barry

On Apr 15, 3:39 pm, bvelasquez  wrote:
> Ok, I'm not happy it happened to you, but now know it's not something
> I did.
>
> Bah!
>
> Help Google!
>
> Barry
>
> On Apr 15, 3:38 pm, Ben Nevile  wrote:
>
> > It's not just you.  One of my apps is down too.  I was getting errors
> > deploying, and now it has completely shut off.
>
> > The timing of this is TERRIBLE for me.  Biggest few hours of the year
> > for my particular application are about to happen between 4pm and 10pm
> > PST tonight.  PLEASE Google help!
>
> > Ben
>
> > On Apr 15, 3:32 pm, bvelasquez  wrote:
>
> > > Error: Not Found
> > > The requested URL / was not found on this server.
>
> > > My entire site is gone now.
>
> > >http://www.tapingya.comorhttp://tapingya.appspot.com
>
> > > Is this just me or a GAE issue?
>
> > > Barry
--~--~-~--~~~---~--~~
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: 'Unknown' IOException when calling URLFetchServiceImpl.fetch(URL)

2009-04-15 Thread BoD

I'm sorry I didn't realize there was a specific group for Java until
now - I just reposted the message on the appropriate group.
Thanks again.

BoD


On Apr 16, 12:45 am, BoD  wrote:
> Anybody?
>
--~--~-~--~~~---~--~~
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: 'Unknown' IOException when calling URLFetchServiceImpl.fetch(URL)

2009-04-15 Thread BoD

Anybody?

This problem is odd, as the file I'm trying to download is up and
running, so I'm pretty sure it's not just a matter of the fetcher not
being able to download it.
Also the "Unknown" error message can't be normal!

If anybody with access to the sources can give me a hint, that would
be much appreciated.

Thanks a lot for your help!

BoD



On Apr 14, 10:45 pm, BoD  wrote:
> Hi!
>
> I'm experiencing intermittent exceptions when calling
> URLFetchServiceImpl.fetch(URL).
> The strange thing is that it doesn't happen all the time and I can't
> find a way to reproduce the problem systematically.
>
> The exception message is 'Unknown', see below:
>
> Uncaught exception from servlet
> java.io.IOException: Unknown
>         at
> com.google.appengine.api.urlfetch.URLFetchServiceImpl.handleApplicationException
> (URLFetchServiceImpl.java:56)
>         at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch
> (URLFetchServiceImpl.java:30)
>
> Is there a normal condition that I'm not aware of under which this can
> happen, or is this a bug?
> Thanks a lot for your help!
>
> BoD
--~--~-~--~~~---~--~~
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: Entire site down now..

2009-04-15 Thread bvelasquez

Ok, I'm not happy it happened to you, but now know it's not something
I did.

Bah!

Help Google!

Barry

On Apr 15, 3:38 pm, Ben Nevile  wrote:
> It's not just you.  One of my apps is down too.  I was getting errors
> deploying, and now it has completely shut off.
>
> The timing of this is TERRIBLE for me.  Biggest few hours of the year
> for my particular application are about to happen between 4pm and 10pm
> PST tonight.  PLEASE Google help!
>
> Ben
>
> On Apr 15, 3:32 pm, bvelasquez  wrote:
>
> > Error: Not Found
> > The requested URL / was not found on this server.
>
> > My entire site is gone now.
>
> >http://www.tapingya.comorhttp://tapingya.appspot.com
>
> > Is this just me or a GAE issue?
>
> > Barry
--~--~-~--~~~---~--~~
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: Entire site down now..

2009-04-15 Thread Ben Nevile

It's not just you.  One of my apps is down too.  I was getting errors
deploying, and now it has completely shut off.

The timing of this is TERRIBLE for me.  Biggest few hours of the year
for my particular application are about to happen between 4pm and 10pm
PST tonight.  PLEASE Google help!

Ben



On Apr 15, 3:32 pm, bvelasquez  wrote:
> Error: Not Found
> The requested URL / was not found on this server.
>
> My entire site is gone now.
>
> http://www.tapingya.comorhttp://tapingya.appspot.com
>
> Is this just me or a GAE issue?
>
> Barry
--~--~-~--~~~---~--~~
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] Entire site down now..

2009-04-15 Thread bvelasquez

Error: Not Found
The requested URL / was not found on this server.

My entire site is gone now.

http://www.tapingya.com or http://tapingya.appspot.com

Is this just me or a GAE issue?

Barry
--~--~-~--~~~---~--~~
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] I cannot deploy, anyone else having this?

2009-04-15 Thread bvelasquez

2009-04-15 15:23:07,473 ERROR appcfg.py:1235 An unexpected error
occurred. Aborting.
Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle
It deployed fine earlier today.  Minor changes to source code only.

Any ideas?

Barry

/Contents/Resources/google_appengine/google/appengine/tools/
appcfg.py", line 1213, in DoUpload
missing_files = self.Begin()
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/tools/appcfg.py", line 1009, in Begin
version=self.version, payload=self.config.ToYAML())
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/
GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
google/appengine/tools/appengine_rpc.py", line 303, in Send
f = self.opener.open(req)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/urllib2.py", line 387, in open
response = meth(req, response)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/urllib2.py", line 498, in http_response
'http', request, response, code, msg, hdrs)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/urllib2.py", line 425, in error
return self._call_chain(*args)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/urllib2.py", line 360, in _call_chain
result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/urllib2.py", line 506, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 500: Internal Server Error
Error 500: --- begin server output ---
--~--~-~--~~~---~--~~
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: Fetching db.Key's instead of the full data

2009-04-15 Thread Jeff S (Google)
Just an FYI, the ability to fetch just the keys for entities which match a
query (instead of fetching the full entity) is a feature request which is on
our radar.

Good question,

Jeff

On Wed, Apr 15, 2009 at 7:57 AM, 风笑雪  wrote:

> No you can't.
> The entity stores as a pair of (key: value). You can only get both of them
> at a same time.
>
> I suggest you use a memcache:
>
> index = memcache.get('index')
> if not index:
>   index = []
>   result = query.fetch(15) # maybe you need do it several times
>   index.append([e.key() for e in result]) # maybe you need
> append several times
>   memcache.set('index', index)
>
> 2009/4/15 mbac...@googlemail.com 
>
>
>> Hello everyone, I would like to ask if there is any way to fetch only
>> db.Key objects from a db.Query. I want to generate a list of links (a
>> Google sitemap) that point to the place there all the data is shown.
>> All the information to generate the link is part of the key name and
>> therefore fetching hundreds of db.Model instances is not needed.
>> Currently I can fetch around 15 instances, because of the datastore
>> timeout limits. I am already using sitemapindexe's to split my sitemap
>> into multiple HTTP requests, but I still need to fetch more than those
>> ~15 key names to display all links.
>>
>> Any ideas? Thanks in advance.
>>
>>
>>
>
> >
>

--~--~-~--~~~---~--~~
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: Cron Job and DeadlineExceededError

2009-04-15 Thread DarkCoiote

Hi... I have a similar situation:
I want to iterate over a large set of database entrys with a scheduled
cron job.

by now, I can manually use a page to do that using this:
http://code.google.com/appengine/articles/update_schema.html
(basically: iterates over small parts, and state is mainteined using
urls
strings used via 'get' and meta refresh stuff)

I havent tested, but what does the cron job do with the page
response?
Would the technic described in the above link work with cron jobs?

I guess it will not work...but.
Thanks

On Apr 13, 11:18 pm, jorge  wrote:
> Thanks, Wooble, that cleared things up.  I was a little confused by
> the following log entries:
>
> 04-12 07:58PM 50.107 /mailer 500 28785ms 10749ms-cpu 0kb
> See details
> 0.1.0.1 - - [12/Apr/2009:19:59:18 -0700] "GET /mailer HTTP/1.1" 500 0
> - -
>     04-12 07:59PM 18.778
>     :
>
> So the 28785ms is where the problem is (not the 10749ms cpu)...this is
> consistent with the recent post on the AppEngine blog about the
> removal of the high CPU errors.
>
> I guess my next concern is the fact that what I consider to be a
> fairly simple script is taking so long to run.  It is basically doing
> a query of a user table that has ~500 rows and about 4 columns.  From
> this, it sends out an HTML email (usually about 3-4k in size) to each
> user.  This would take 2-3 seconds tops when I used to run it in a
> Perl script when I was hosting my site elsewhere.
>
> I did offload some of the Django template work on to Python.  Since
> there is some minor custom info in each email (user name, user id), I
> was using the Django templates to format each message as I iterated
> over the user list.  Although there were only 3 variables that were
> being substituted in the template, it seems to me that this is the
> only possible place that could be causing such a huge performance
> bottleneck.  I haven't taken the time to profile it yet so I'll have
> to do that whenever time allows.
>
> Thanks again.
>
> On Apr 13, 10:57 am, Wooble  wrote:
>
> > The request deadline is actually 30 seconds now, but yeah, as far as I
> > can tellcronjobs are just intended to free you from needing acron
> > job on your own machine to hit a URL with wget or whatever
> > periodically.
>
> > Long-running processes are probably what you're looking for; hopefully
> > we'll see them soon.
>
> > In the meantime, the remote API might be the best solution for big
> > database cleanup jobs.
>
> > On Apr 12, 11:41 pm, jorge  wrote:
>
> > > I guess I probably misunderstood and thought thatcronjobs weren't
> > > subject to the same 10 second request deadline for HTTP requests?  I'm
> > > trying to run acronjob that sends out a mailer.  Unfortunately, it's
> > > taking longer than 10 seconds so the job will fail about halfway
> > > through.  I guess I could rewrite it to only do batches at a time.
> > > The means extra tables in my database to keep track of who has been
> > > mailed, etc.  Not a big deal, I guess.  It just seems that this
> > > restriction makescronjobs fairly limited in what they can do.  A
> > > database cleanup job, for example, is going to take longer and longer
> > > as tables grow and will almost certainly always hit this limit, and
> > > create a situation where thecronscripts will have to be rewritten
> > > and additional tables written to manage intermediate state, etc.
>
> > > Is the intent that thecronjobs will remain subject to the same
> > > restrictions as other requests?
--~--~-~--~~~---~--~~
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: New App - wikiaata

2009-04-15 Thread indra

Hi,

Added multiplayer rooms to the game where you can solve the same
puzzles with your friends in real-time.
Chat functionality is also present in the rooms.

Cheers.

On Feb 27, 2:11 am, Ben Nevile  wrote:
> really fun game!!  Nice work.
>
> Ben
>
> On Feb 25, 4:08 pm, indra  wrote:
>
> > Hello everyone,
>
> > Play the wikipedia game at
>
> >http://www.wikiaata.com
>
> > The app is powered by AppEngine and GWT was used for building the UI.
> > Any feedback is very welcome.
>
> > Cheers.
>
>
--~--~-~--~~~---~--~~
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] Templates...

2009-04-15 Thread Aaron

Hi, I am using django .

I  am trying to use a If statement with an or.

what I am trying to do is   make a if statement like  if  the website
title is this  or that then  do this.

so It's like  IF  title = "home"  or  "request" do this{

}

when I tried that I got a error wrong block or something like that.

Then I tried using the code  if  code to grab title ="home" or  code
to grab title ="request" {do this}

Basicly I have a request form and I only want to show it on 2 pages.

How can I do this. I even played with the if equal.  I got an Error
saying that I have 2 or more arguments.

So how can I do this?  I currently have  2 if statements  meaning have
them seperate which took away the errors but displays nothing.

I know that if I put those 2 if statements then it will cancel each
other out because it's like saying if those 2 pages are loaded at the
same time then display the form.

So I am trying to find how I can display this form for only 2 pages.


basicly here is the if statements I am using :

{% ifequal flatpage.title "Sign Up" %}
{% ifequal flatpage.title "Services" %}

I know it's wrong. The reason it cancels each others out.

I tried if statements and it gives me errors saying wrong block. I
then tried if equal which gave me an error saying I have 2 or more
arguments which I think I can't have.

I did took a look at django's guide area on their project site. I
can't really find a solution.

any idea how I can do this. I know how to do it in php.
--~--~-~--~~~---~--~~
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: Severe scalability problems - getting http server 500 error under heavy load.

2009-04-15 Thread Anonymous Coderrr

Good points.

I rewrote the test so it fires off 20 requests from 20 distinct ip
addresses simultaneously, once a second 10 times.

In effect 20 concurrent requests, once a second.

I had about 15% loss and the request time degradation was there.  (2
seconds to fulfill a request on an idle system, 15 seconds under
load).

This still is no where near advertised load rates.


On Apr 15, 2:19 am, Barry Hunter  wrote:
> One thing that has become apprent is appengine, is designed to scale
> under real world usage.
>
> So if your App went from 0/1 users to 500 in a matter of seconds, then
> the system wont work well. You need to ramp up the usage slowly.
>
> Even a slashdotting would result in a 'ramp' usage.
>
> Also 500 users coming from once source, might be a bit suspicios, and
> appengine could be weary of a DOS attack.
>
> On 15/04/2009, Anonymous Coderrr  wrote:
>
>
>
>
>
>
>
> >  I have a fairly simple app - it looks up a couple of objects from the
> >  google datastore and then creates a page from django template - pure
> >  vanilla.
>
> >  I wanted to see how my app would perform under heavy load, so I set up
> >  a simulation where 500 virtual web-browsers would attempt to request
> >  my page twice - exactly at the same time.
>
> >  The results were dismal!!  Nearly 50% of the requests resulted in a
> >  "HTTP response code: 500" from GAE - not my application, but
> >  apparently GAE itself.
>
> >  I check my dashboard logs - no errors from my application.  No errors
> >  anywhere I could find.
>
> >  What can I do?  I'm not expecting 500 requests per second, but
> >  certainly maybe 100.  The best rate I can get according to the
> >  dashboard is about 4.5 requests per second.  The dev server running on
> >  my laptop does better than that!!!
>
> >  Thanks
>
> --
> Barry
>
> -www.nearby.org.uk-www.geograph.org.uk-- Hide quoted text -
>
> - Show quoted text -
--~--~-~--~~~---~--~~
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: entity stuck at the wrong end of the index

2009-04-15 Thread Ben Nevile

This is happening frequently today.  I think it must expose a weakness
in the transaction code.  Hey, I know that what I'm doing with this
code is totally lame -- basically causing many many transaction
collisions - but clearly there's a problem here with the transaction
code that creates the possibility of corrupting an entity.  Not not
not not cool.

I'm working under a harsh time constraint right now (start of hockey
playoffs) and my users need this crappy queue I've set up, so I'm not
currently at liberty to leave one of these entities in its corrupted
state for very long.  But I would like to work with Google to get this
sorted out.

Ben



On Apr 15, 8:04 am, Ben Nevile  wrote:
> To add another twist, now I have an entity at the top of the stack
> that is found using
>
>       q = FacebookUser.all()
>       q.filter('authorized = ',True)
>       q.order('last_nudged_at')
>       u = q.get()
>
> but, if you try to load this entity by key, as you need to do for a
> transaction, you get None back.   Trying to access that entity's
> record in the Data Viewer also threw an exception.  I was, however,
> able to delete it from the top of that index listing using the Data
> Viewer's GQL option.
>
> Ben
>
> On Apr 14, 3:38 pm, BenNevile wrote:
>
>
>
> > Hi Jeff,
>
> > To clarify, the last_nudged_at property *is* changed, but the entity
> > stays at the top of the stack.
>
> > Ben
>
> > On Apr 14, 12:26 pm, Jeff S  wrote:
>
> > > Hi Ben,
>
> > > If you are experiencing write contention on some of these updates,
> > > then that may explain why the last_nudged_at  property is not changed
> > > and an entity tends to stay at the top of the stack. Do you see
> > > datastore timeout errors in these cases (I imagine the exception may
> > > be hidden somewhere in the JavaScript <--> server exchange)?
>
> > > Thank you,
>
> > > Jeff
>
> > > On Apr 14, 11:48 am, BenNevile wrote:
>
> > > > bump.  I have observed this many times over the past few days.  Maybe
> > > > has to do with transactions and/or write contention, since there is a
> > > > lot of that in my app.
>
> > > > Ben
>
> > > > On Apr 1, 8:23 pm, BenNevile wrote:
>
> > > > > Hi GAE team and devotees,
>
> > > > > I have a entity that looks like
>
> > > > > class FacebookUser(db.Model):
> > > > >   expired_fotm =          db.BooleanProperty()
> > > > >   last_nudged_at =        db.DateTimeProperty()
>
> > > > > and an index that looks like
>
> > > > > - kind: FacebookUser
> > > > >   properties:
> > > > >   - name: expired_fotm
> > > > >   - name: last_nudged_at
>
> > > > > Unbeknownst to the users of my application, some javascript is
> > > > > constantly polling a worker handler that finds the first entity in the
> > > > > index, operates on it, then sets "last_nudged_at" to the current
> > > > > time.  There are more than a million of these entities so it takes
> > > > > some time to go through them all.
>
> > > > > This afternoon using the Data Viewer and the GQL query "SELECT * FROM
> > > > > FacebookUser where expired_fotm=True order by last_nudged_at" I
> > > > > observed several times that an entity would remain "stuck" in the
> > > > > first position in the index after it was processed.  Usually it would
> > > > > remain there only for 10-30 seconds.  However this evening one entity
> > > > > stayed in an incorrect index position for several hours.  I put() it
> > > > > again and it properly indexed itself.
>
> > > > > Has anyone ever observed anything like this? Let me know if I'm not
> > > > > making myself clear.
>
> > > > > Ben <3 GAE
--~--~-~--~~~---~--~~
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: Odd problem with urlfetch from picasa servers

2009-04-15 Thread Jeff S (Google)
Hello Ken,

I think yes, as long as the original image is less than 800px in x or y,
whichever is larger. I'm getting this info from the picasaweb FAQs:

http://code.google.com/apis/picasaweb/faq.html#embed_image

(You also might get better assistance in the Picasa data API discussion
group: http://groups.google.com/group/Google-Picasa-Data-API since these
questions are generally applicable to all apps that use the Picasa web API)

Cheers,

Jeff

On Tue, Apr 14, 2009 at 1:44 PM, notcourage  wrote:

>
> Thx for your reply. Besides the thumbnail, does the API allow you to
> display the underlying image?
>
> On Apr 13, 3:45 pm, Jeff S  wrote:
> > Hi Ken,
> >
> > Yes the Picasa Web Albums Data API allows you to display thumbnails of
> your
> > images in a web page, whether that page happens to be on App Engine or
> not.
> > It seems like this should be doable, the thumbnail size may need to be
> > specified in the img URL.
> >
> > Happy coding,
> >
> > Jeff
> >
> > On Sun, Apr 12, 2009 at 9:26 AM, notcourage  wrote:
> >
> > > Jeff, thx for answering.
> >
> > > I can research the upload method you suggest. However, if I cannot
> > > access the uploaded images (thumb & underlying) later to display it in
> > > my appengine app, there's no point. It would be helpful if you told us
> > > whether the photo API allows this. Thx. -Ken
> >
> > > On Mar 25, 11:29 am, Jeff S  wrote:
> > > > On Mar 22, 4:10 pm, notcourage  wrote:
> >
> > > > > Did you ever find the solution?
> >
> > > > > Is photo.media.thumbnail[1].url the URL for the actual image? Or a
> > > > > page containing it?
> >
> > > > Great question, it would help if we could see URL being requested.
> The
> > > > reason I most often see for not being able to retrieve an image is
> > > > that the imgmax parameter is not being included.
> >
> > > >http://code.google.com/apis/picasaweb/faq.html#embed_image
> >
> > > > > I don't understand how to upload an image topicasasince
> > > > > gd_client.InsertPhotoSimple requires a filename and an appengine
> app
> > > > > doesn't have access to the file system, does it?
> >
> > > > Good point. You could use the lower-level Post method found in
> > > > gdata.service.GDataService along with a gdata.MediaSource object to
> > > > simulate a file. This might look something like:
> >
> > > > media_source = gdata.MediaSource(
> > > > file_handle=StringIO.StringIO(your_image_data),
> > > > content_type='image/jpeg',
> > > > content_length=len(your_image_data),
> > > > file_name='example.jpg')
> >
> > > > Then look at the implementation for InsertPhoto(Simple) for ideas on
> > > > how to use the client.Post method.
> >
> > > > Thank you,
> >
> > > > Jeff
> >
> > > > > Thx.
> >
> > > > > On Feb 26, 3:32 am, "G. Nyman"  wrote:
> >
> > > > > > Hello everybody,
> >
> > > > > > I have been banging my head against this problem for a while now
> and
> > > I
> > > > > > can't seem to understand why it does what it does.
> >
> > > > > > I am trying to import pictures fromPicasausing the code appended
> at
> > > > > > the end of this post. It works fine in the dev environment but
> for
> > > > > > some reasonpicasareturns 404 when i try to run it online.
> >
> > > > > > The devserver-logs say:
> > > > > > INFO 2009-02-26 10:24:35,093 svgae.py] Got the following url:
> > >http://lh6.ggpht.com/_mUcXljy1w9g/SaQ-uXbkY4I/ACE/DJtdqCz6u50..
> .,
> > > > > > data was truncated? 0
> > > > > > INFO 2009-02-26 10:24:35,093 svgae.py] Big thumb got status
> 200
> > > > > > and lenght: 99720
> > > > > > INFO 2009-02-26 10:24:35,108 dev_appserver.py] "GET /
> > > > > > no_go_with_picasa HTTP/1.1" 200 -
> >
> > > > > > The real thing says:
> > > > > > 02-26 02:25AM 24.551 /no_go_with_picasa 200 927ms 951ms-cpu 0kb
> > > > > > 130.232.90.98 - - [26/Feb/2009:02:25:25 -0800] "GET
> > > /no_go_with_picasa
> > > > > > HTTP/1.1" 200 104 - -
> > > > > > I 02-26 02:25AM 25.473
> > > > > > Got the following url:
> > >http://lh6.ggpht.com/_mUcXljy1w9g/SaQ-uXbkY4I/ACE/DJtdqCz6u50..
> .,
> > > > > > data was truncated? 0
> > > > > > I 02-26 02:25AM 25.474
> > > > > > Big thumb got status 404 and lenght: 1421
> >
> > > > > > This might be apicasaproblem but I tought I'll try here first.
> The
> > > > > > url to the photo works in both cases so I don't understand the
> 404.
> > > > > > The most interesting thing is that urlfetch on
> photo.media.thumbnail
> > > > > > [0].url works fine.
> >
> > > > > > Thankfull for all assistance
> >
> > > > > > /G. Nyman
> >
> > > > > > Code to replicate the problem:
> > > > > > ---
> > > > > > class PicasaProblem(webapp.RequestHandler):
> > > > > > def get(self):
> > > > > > gd_client = gdata.photos.service.PhotosService()
> > > > > > gdata.alt.appengine.run_on_appengine(gd_client)
> > > > > > username = 'tehviu'
> > > > > > albumid = 'SigmaTest'
> > > > > > photos = gd_client.Ge

[google-appengine] max file upload size

2009-04-15 Thread Dave

I've searched quite a bit didn't find much information on this so I
wanted to check I'm doing the right thing. Also hopefully this will
help others who come across same situation. Any suggestions and/or
additional info from the group is greatly appreciated.

In my app using Django 1.0  I allow upload via forms.FileField of up
to 5 files on the upload page. I was able to determine the 1MB file
limit applies to the individual files so the actual post can be up to
5x1024. However I came across an obscure(at least to me) exception
when posting.

Exception type: NotImplementedError
Exception value: This class/method is not available.
Location: /dev_appserver.py in NotImplementedFake, line 524

In tracking this down I put together that app engine does not allow
writing to file system (Please correct me if not right) and Django
default FILE_UPLOAD_MAX_MEMORY_SIZE is 2621440 bytes (2.5Mb) before it
streams to disk. So I simply modified my settings.py to include
FILE_UPLOAD_MAX_MEMORY_SIZE = 5252880 and it seems to be working
great.

So my question to the group is if this is the right and/or best way to
solve this? Is there a limit of how much memory GAE will allocate?

thx

Dave
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Google AppEngine for Java registration

2009-04-15 Thread Jeff S (Google)
Hi Nav,

In most cases the best way to handle this situation is to fill out the form
here:

http://appengine.google.com/waitlist/sms_issues

I've gone ahead and enabled your account, could you try it now?

Happy coding,

Jeff

On Tue, Apr 14, 2009 at 10:00 AM, Nav  wrote:

>
> Hi,
>
> I have the same problem.  Is there any place to log these issues?
>
> Thanks
>
> Nav
>
> On Apr 9, 2:09 pm, Jeff S  wrote:
> > Hi Rubem,
> >
> > You should be all set. Could you try it again?
> >
> > Thank you,
> >
> > Jeff
> >
> > On Wed, Apr 8, 2009 at 10:06 AM, Rubem Azenha  >wrote:
> >
> > > Hi,
> >
> > > I'm not sure this is the rigth place for this message, but I was unable
> to
> > > another place more suitable...
> >
> > > I made my registration some hours ago for the Google AppEngine for Java
> (I
> > > already owned a Python account). Then  I received an e-mail from
> > > appengine.nore...@google.com (which  is copied above).
> >
> > > The e-mail says:
> > > "To start creating applications with Google App Engine, simply follow
> this
> > > link
> > > (you may need to sign in with your rubem.aze...@gmail.com Google
> Account)
> > > and
> > > verify your account with a mobile phone number if you have not already
> done
> > > so:
> >
> > >http://appengine.google.com/";
> >
> > > But when I follow the link, it leads to the standard appengine site,
> with
> > > no place where I can put my mobile phone number. I never informed my
> mobile
> > > phone number to the AppEngine staff.
> >
> > > It also says:
> > > "If you are having trouble verifying your account via SMS please fill
> > > out the following form and your account will be reviewed and enabled
> > > as soon as possible:
> >
> > >http://appengine.google.com/waitlist/sms_issues
> > > "
> >
> > > But when I click in that link, it leads to the
> > >http://appengine.google.com/site :(
> >
> > > I tried to create a Java application, but I didn´t find any place to do
> so,
> > > only the standard python apps.
> >
> > > Does anyone know what can I do in order to use Java?
> >
> > > -- Forwarded message --
> > > From: 
> > > Date: Wed, Apr 8, 2009 at 2:19 AM
> > > Subject: Welcome to an early look at Google App Engine for Java!
> > > To: rubem.aze...@gmail.com
> >
> > > Hello,
> >
> > > Thanks for signing up to try Google App Engine for Java!  Your account
> has
> > > now
> > > been activated, so you can begin building applications with our new
> Java
> > > runtime.
> >
> > > Please note that this is still an early look at our support for the
> Java
> > > language and you may encounter issues during development. We look
> forward
> > > to
> > > hearing your feedback! To learn more, please visit:
> >
> > >http://code.google.com/appengine/docs/java/overview.html
> >
> > > To start creating applications with Google App Engine, simply follow
> this
> > > link
> > > (you may need to sign in with your rubem.aze...@gmail.com Google
> Account)
> > > and
> > > verify your account with a mobile phone number if you have not already
> done
> > > so:
> >
> > >http://appengine.google.com/
> >
> > > If you are having trouble verifying your account via SMS please fill
> > > out the following form and your account will be reviewed and enabled
> > > as soon as possible:
> >
> > >http://appengine.google.com/waitlist/sms_issues
> >
> > > Thanks!
> > > The Google App Engine Team
> >
> > > Java is a registered trademark of Sun Microsystems, Inc.
> >
> > > --
> > >http://razenha.wordpress.com/
> > > George Burns<
> http://www.brainyquote.com/quotes/authors/g/george_burns.html> - "I spent
> a year in that town, one Sunday."
>
> >
>

--~--~-~--~~~---~--~~
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: Verification issues and http://appengine.google.com/waitlist/sms_issues not working

2009-04-15 Thread Jeff S (Google)
Hi Michael,

Could you try signing in again, I believe this should now be fixed.
Apologies for the inconvenience.

Happy coding,

Jeff

On Tue, Apr 14, 2009 at 7:24 AM, Michael Makunas wrote:

>
> Apologies for my first post here being a plea for help, but the normal
> channels seem to be broken. I attempted to submit this via
> http://appengine.google.com/waitlist/sms_issues but all I get is an
> error that says "Comment" and nothing else when I submit the form.
>
> I first signed up with my michael.maku...@gmail.com account. I got
> through the verification process and got to to the point where I pick
> a name and it came back saying "makunas" was already taken. Seeing as
> I rarely come across a situation where my last name isn't unique, I
> thought I might have already signed up using my mich...@makunas.com
> account (google apps for domains). When I went down that path and
> tried to verify, it said I couldn't use the same mobile more than
> once. The problem now is that neither account works. Both are asking
> for verification and both say sorry you've used that number before.
>
>
> Many thanks,
> Michael
>
> >
>

--~--~-~--~~~---~--~~
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] Issue with Deployed application

2009-04-15 Thread Sudeep Bhattarai
Hi,
I have built a simple app on my system using Eclipse + plugin provided by
google. The app simply parses an XML file, applies XPath and prints out the
the result using servlet.

The app works fine on my system but when deployed to the app engine, it
throws error. Why is that.?

This is a simple application and hence one can notice the error. What if
this was a big application. How would I be able to tell where the issue is?
Shouldn't development environment provided by google be in sync with Google
App Environment.

Thank you
Sudeep

--~--~-~--~~~---~--~~
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: Contact Info and max number apps

2009-04-15 Thread Jeff S (Google)

Hi Wendel,

If you send me the email address for the account that you are using, I
can look into raising the number of allowed apps for your account.

Cheers,

Jeff

On Apr 15, 4:09 am, Wendel  wrote:
> Hello,
>
> I can't find any contact form or telephone number in the dashboard,
> does this mean that google doesn't provide any form of support?
>
> Is it possible to increase the maximum number (10) of apps running on
> a single account? Is there a request form for this purpose?
>
> Thanks,
>
> Wendel
--~--~-~--~~~---~--~~
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: Discussion on google-app-engine-open-source-projects

2009-04-15 Thread Jeff S (Google)
Hi tallstreet,

Very cool! Open source apps can be a great foundation to build on and find
ideas in and the more we can do to highlight these resources the better.
We've created a couple of places where apps and open source code can be
highlighted,

Tell people about your app:
http://appgallery.appspot.com/

Share tips and recipes:
http://appengine-cookbook.appspot.com/

Catalog open source projects:
http://groups.google.com/group/google-appengine/web/google-app-engine-open-source-projects

I wanted to highlight the above as additional resources for people (hope you
don't mind my thread hijacking).

Thank you,

Jeff


On Tue, Apr 14, 2009 at 2:09 AM, tallstreet  wrote:

>
> I've created a directory of open source app engine applications at
> http://appjects.appspot.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
-~--~~~~--~~--~--~---



[google-appengine] Re: Timeout: datastore timeout: operation took too long.

2009-04-15 Thread Jeff S (Google)
Hi Ray,

Which operation was is that timed out (get, query, put)? Also, how
consistently are you seeing these timeouts?

I generally recommend catching datastore timeouts and handling them in a way
that makes sense for your app. There are currently occasional (quite rare as
a percentage) timeouts for queries and gets, and timeouts on a put is often
an indicator of contention on that entity or entity group.

Happy coding,

Jeff

On Mon, Apr 13, 2009 at 4:11 PM, DarkCoiote  wrote:

>
> Looks like my and others problem... posted a few days ago:
>
>
> http://groups.google.com/group/google-appengine/browse_thread/thread/83b45cb3f90a2a3f/740e922de7d0b33b?q=#740e922de7d0b33b
>
> Random datastore timeouts in totally unexpected places...
>
> On Apr 13, 2:36 pm, Ray Malone  wrote:
> > I'm not sure why this occurs all of a sudden.  The same job runs in
> > 600ms.Then once in a while this runs over 6800 MS and times out.
> > I can't have jobs just timeout for no reason.According to my logs
> > during this time the only other request was a second prior.  This
> > occurred at 04-13 09:13AM 29.627 today and other times at random in
> > the last few days.
> >
>

--~--~-~--~~~---~--~~
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: Complete list of limits and quotas?

2009-04-15 Thread Jeff S (Google)
Hi T.J.,

I'm glad you've raised this issue. The documentation on quotas has most of
this information:

http://code.google.com/appengine/docs/quotas.html

For additional limitations, most overview sections on the APIs and services
have specific details for that service. For example, see:

http://code.google.com/appengine/docs/java/datastore/overview.html#Quotas_and_Limits
http://code.google.com/appengine/docs/python/images/overview.html#Quotas_and_Limits
http://code.google.com/appengine/docs/java/mail/overview.html#Quotas_and_Limits

The limit on 100 custom composite indicies per app is not currently
documented to my knowledge, part of the reason is that I think it would be
best to design your app without that constraint in mind. So far, very few
apps have hit this limit and if you need more than 100 indicies, I'd be
happy to talk it over and see what we can work out. Recent reports of
hitting this limit have been the result of an issue which caused the number
of indicies to be overreported for a small subset of apps.

Thank you,

Jeff


On Tue, Apr 14, 2009 at 1:51 PM, T.J. Crowder wrote:

>
> Hi all,
>
> Only-slightly-abashedly bumping this, having foolishly posted it
> during the holiday weekend.  Apparently (continuing the list) there's
> a "Workflow Backend Index Task Count"[1] as well.
>
> Anyone (at Google or otherwise) have a link to an official
> comprehensive list, and if so, would you post it?  If not, perhaps we
> should try to bring together links for the disparate parts.
>
> [1]
> http://groups.google.com/group/google-appengine/browse_thread/thread/733e8830bdb4b843
>
> Thanks in advance,
> --
> T.J. Crowder
> tj / crowder software / com
> Independent Software Engineer, consulting services available
>
> On Apr 11, 9:55 am, "T.J. Crowder"  wrote:
> > Hi all,
> >
> > Thrilled about the AppEngine Java support and reading up on the
> > platform, etc.   Very exciting stuff.
> >
> > Information about the various limits imposed by the system seems to be
> > a bit spread all over, is there anywhere one can go for a quick
> > rundown of *all* the various limits?
> >
> > Naturally there's the quotas page[1], but then there are further
> > significant limits for the datastore[2], and neither of those pages
> > mentions that there is apparently a limit on the number of datastore
> > indices[3] -- a very important piece of information.  It also appears
> > that each static file in your app can be no more than 10MB[4].
> > There's some disagreement amongst pages as well; the overview page[5]
> > says the free accounts get 500MB of storage, but the quotas page
> > (presumably the more canonical of the two) says 1GB.  Apparently
> > requests must be satisfied within 30 seconds[4][5].  A user seemed to
> > say[6] in the group that there is a 1,000 file limit, but I haven't
> > found that one (yet!) from Google.  And it's not clear to me whether
> > it's 1GB of storage, total, or 1GB of datastore storage *plus* the
> > storage of your application files.
> >
> > For clarity, this is not criticism disguised as a question.  I'm
> > really asking the question. :-)  Is this all pulled together somewhere
> > I've missed so far?  Apologies if I've overlooked the obvious, which
> > wouldn't surprise me.
> >
> > [1]http://code.google.com/appengine/docs/quotas.html
> > [2]
> http://code.google.com/appengine/docs/java/datastore/overview.html#Qu...
> > [3]
> http://groups.google.com/group/google-appengine/browse_thread/thread/...
> > [4]
> http://googleappengine.blogspot.com/2009/02/skys-almost-limit-high-cp...
> > [5]http://code.google.com/appengine/docs/whatisgoogleappengine.html
> > [6]
> http://groups.google.com/group/google-appengine/browse_thread/thread/...
> >
> > Thanks in advance,
> > --
> > T.J. Crowder
> > tj / crowder software / com
> > Independent Software Engineer, consulting services available
> >
>

--~--~-~--~~~---~--~~
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: Java Vs Python

2009-04-15 Thread Ovnicraft
2009/4/15 lok 

>
> As my corp only use .net and Java
> My SA told me to study what is the difference between Java  and Python
> in terms of their functionality and performance .
> Is that everything can be done by Python  can also be done by java in
> Google App ?
>

Here you have a very good explanation.
http://www.ferg.org/projects/python_java_side-by-side.html

>
> >
>


-- 
Cristian Salamea
CEO GnuThink Software Labs
Software Libre / Open Source
(+593-8) 4-36-44-48

--~--~-~--~~~---~--~~
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: catch-all url

2009-04-15 Thread 风笑雪
app.yaml:

- url: /.*
  script: main.py


main.py:

# some imports and classed

application = webapp.WSGIApplication([('/page1', Page1),
  ('/page2', Page2),
  ('/.*', MainPage)]) # all other urls
will handled by this MainPage class

run_wsgi_app(application)

2009/4/16 Ben Nevile 

>
> Say, I sure would like to be able to catch all the weird historical
> urls that come into my application and redirect them to my home page.
> Does anyone know how to specify a "if it doesn't match any of the
> others, use this handler" mapping?
>
> Ben <3 GAE
> >
>

--~--~-~--~~~---~--~~
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: Java Vs Python

2009-04-15 Thread 风笑雪
It's a single operation.
And if do 100 separated operation with 1 entity each, it will take about 4
times time.

2009/4/15 Nick Johnson (Google) 

>
> Are these benchmarks each for a single put/get/delete with 100
> entities, or for 100 separate puts/gets/deletes with 1 entity each?
>
> -Nick Johnson
>
> On Apr 15, 4:06 pm, 风笑雪  wrote:
> > I can give you some result of db operation using Python.
> > I did this test last week, but I can't find my code now...
> >
> > Someone can give a Java benchmark?
> >
> > result unit: second
> >
> > add 100 entities:
> >
> > 1.07751011848
> > 1.78107213974
> > 0.826889038086
> > 2.46827101707
> > 0.966767072678
> >
> > fetch 100 entities:
> >
> > 0.0892021656036
> > 0.108892917633
> > 0.105209112167
> > 0.0894641876221
> > 0.1026699543
> >
> > update 100 entities:
> >
> > 0.893841028214
> > 0.999007940292
> > 1.11865115166
> > 1.06479501724
> > 0.981703996658
> >
> > delete 100 entities:
> >
> > 0.81419301033
> > 0.84040594101
> > 0.949120998383
> > 0.903990030289
> > 0.863884925842
> >
> > 2009/4/15 Sylvain 
> >
> >
> >
> > > We need a benchmark :)
> >
> > > On 15 avr, 16:32, 风笑雪  wrote:
> > > > I think right now, Python is more powerful and easier than Java in
> > > GAE.You
> > > > need much less configuration and code to do a same thing in Python.
> >
> > > > In my opinion, Python will save you 60% to 80% time of coding, but
> runs 5
> > > to
> > > > 10 times slower than Java.
> > > > However, about 80% time is cost in db operation, and there won't be
> much
> > > > difference their performance. (I haven't test it yet.)
> >
> > > > 2009/4/15 lok 
> >
> > > > > As my corp only use .net and Java
> > > > > My SA told me to study what is the difference between Java  and
> Python
> > > > > in terms of their functionality and performance .
> > > > > Is that everything can be done by Python  can also be done by java
> in
> > > > > Google App ?
>
> >
>

--~--~-~--~~~---~--~~
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: Severe scalability problems - getting http server 500 error under heavy load.

2009-04-15 Thread Alex

I would echo Barry's point -- my guess is that if all of these
requests came from the same IP in a matter of seconds that GAE was
using a security measure to turn away the connections.  They probably
also had a similar signature, being from the same script requesting
the same information from the same place going to the same place --
classic DoS.

Alex Foley

On Apr 15, 2:19 am, Barry Hunter  wrote:
> One thing that has become apprent is appengine, is designed to scale
> under real world usage.
>
> So if your App went from 0/1 users to 500 in a matter of seconds, then
> the system wont work well. You need to ramp up the usage slowly.
>
> Even a slashdotting would result in a 'ramp' usage.
>
> Also 500 users coming from once source, might be a bit suspicios, and
> appengine could be weary of a DOS attack.
>
> On 15/04/2009, Anonymous Coderrr  wrote:
>
>
>
>
>
> >  I have a fairly simple app - it looks up a couple of objects from the
> >  google datastore and then creates a page from django template - pure
> >  vanilla.
>
> >  I wanted to see how my app would perform under heavy load, so I set up
> >  a simulation where 500 virtual web-browsers would attempt to request
> >  my page twice - exactly at the same time.
>
> >  The results were dismal!!  Nearly 50% of the requests resulted in a
> >  "HTTP response code: 500" from GAE - not my application, but
> >  apparently GAE itself.
>
> >  I check my dashboard logs - no errors from my application.  No errors
> >  anywhere I could find.
>
> >  What can I do?  I'm not expecting 500 requests per second, but
> >  certainly maybe 100.  The best rate I can get according to the
> >  dashboard is about 4.5 requests per second.  The dev server running on
> >  my laptop does better than that!!!
>
> >  Thanks
>
> --
> Barry
>
> -www.nearby.org.uk-www.geograph.org.uk-
--~--~-~--~~~---~--~~
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] appcfg.py update_cron Server Error (500)

2009-04-15 Thread Kai

I am testing my new GAE app with the cron job functionality.
Everything works fine in my local SDK environment.
But when updating my python code to GAE server,
the error occur:

Uploading cron entries.
Error 500: --- begin server output ---

Server Error (500)
A server error has occurred.
--- end server output ---

Any clue?

--~--~-~--~~~---~--~~
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: retrieving the key after using the put() method

2009-04-15 Thread Nick Johnson (Google)

After a put(), the entity that was written is updated with its new
key, which you can access with entity.key(). The put() call itself
also returns the key (or list of keys) that were written.

-Nick Johnson

On Apr 15, 2:57 pm, bamkraxler  wrote:
> I have a form that a user fills out and submits to the datastore.
> Data is inserted using the put() method.  After the insert I would
> like to immediately query the datastore and display to the user that
> which was committed.  This is fairly standard stuff and is supported
> in various ways (some better than others) in a lot of different
> databases -- been doing it for years.  Apparently there is no way to
> do this with the GAE, however, as the key(), though automatically
> generated by the database, is not returned as a property of the
> instance that called the put() method.  Is there a way to get the key
> belonging to a put()?

--~--~-~--~~~---~--~~
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: Java Vs Python

2009-04-15 Thread Nick Johnson (Google)

Are these benchmarks each for a single put/get/delete with 100
entities, or for 100 separate puts/gets/deletes with 1 entity each?

-Nick Johnson

On Apr 15, 4:06 pm, 风笑雪  wrote:
> I can give you some result of db operation using Python.
> I did this test last week, but I can't find my code now...
>
> Someone can give a Java benchmark?
>
> result unit: second
>
> add 100 entities:
>
> 1.07751011848
> 1.78107213974
> 0.826889038086
> 2.46827101707
> 0.966767072678
>
> fetch 100 entities:
>
> 0.0892021656036
> 0.108892917633
> 0.105209112167
> 0.0894641876221
> 0.1026699543
>
> update 100 entities:
>
> 0.893841028214
> 0.999007940292
> 1.11865115166
> 1.06479501724
> 0.981703996658
>
> delete 100 entities:
>
> 0.81419301033
> 0.84040594101
> 0.949120998383
> 0.903990030289
> 0.863884925842
>
> 2009/4/15 Sylvain 
>
>
>
> > We need a benchmark :)
>
> > On 15 avr, 16:32, 风笑雪  wrote:
> > > I think right now, Python is more powerful and easier than Java in
> > GAE.You
> > > need much less configuration and code to do a same thing in Python.
>
> > > In my opinion, Python will save you 60% to 80% time of coding, but runs 5
> > to
> > > 10 times slower than Java.
> > > However, about 80% time is cost in db operation, and there won't be much
> > > difference their performance. (I haven't test it yet.)
>
> > > 2009/4/15 lok 
>
> > > > As my corp only use .net and Java
> > > > My SA told me to study what is the difference between Java  and Python
> > > > in terms of their functionality and performance .
> > > > Is that everything can be done by Python  can also be done by java in
> > > > Google App ?

--~--~-~--~~~---~--~~
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] catch-all url

2009-04-15 Thread Ben Nevile

Say, I sure would like to be able to catch all the weird historical
urls that come into my application and redirect them to my home page.
Does anyone know how to specify a "if it doesn't match any of the
others, use this handler" mapping?

Ben <3 GAE
--~--~-~--~~~---~--~~
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: Need an article to handle properly a datastore timeout

2009-04-15 Thread Nick Johnson (Google)

Hi Sylvain,

In a lot of situations, the correct behavior in a datastore timeout is
to simply retry the operation. You're right that in a situation where
you have to insert many records in different entity groups, either
retrying or rolling back can be complicated. Bear in mind, though,
that even if you explicitly handle this, since you have no guarantee
of atomicity outside a transaction, there's always the possibility
that you will encounter concurrency issues, or that your script will
terminate without completing for one reason or another. If this is
problematic in your application, you need to have other measures -
such as keeping a transaction journal in the datastore - to allow you
to complete or roll back updates from failed scripts.

I agree that an article detailing how to deal with this would be
useful. Since the area is quite a complex one, there's a lot to cover.
We do accept articles from third parties, if you'd like to write one.
;)

On Apr 15, 2:18 pm, Sylvain  wrote:
> Hi,
>
> Currently, I think 0.5% of my Datastore operations result in a
> datastore timeout.
> I don't know why... It can be raised on very simple or very
> complicated operation.
>
> For my app for example, the problem is that it can occur during a big
> request where I need to create 50-100 entities of 3 different kinds.
> So I need to manually rollback everything and it can be difficult.
>
> Having a "big" transaction could be a solution, but GAE it too limited
> (only 1 kind,).
>
> It seems that datastore timeout will always be there and we have to
> manage them. So I think we need an article that explains how to handle
> them properly with different scenarios. It will be very appreciated.
>
> Regards.

--~--~-~--~~~---~--~~
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: PageContextImpl giving issues (java.lang.ClassCastException: java.security.AccessControlException) with Spring form tag?

2009-04-15 Thread nicolas.fran...@gmail.com

Hi,

I seem to have the same problem without Spring but with JSF. I think
that may be in the taglibs.

My code:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page isELIgnored="false"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>





<%@ include file="/page/fragment/head.jspf"%>



















My stack trace:

java.lang.ClassCastException:
org.datanucleus.exceptions.NucleusUserException cannot be cast to
javax.servlet.ServletException
at org.apache.jasper.runtime.PageContextImpl.handlePageException
(PageContextImpl.java:754)
at org.apache.jsp.page.listTimesheets_jsp._jspService
(listTimesheets_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:362)
at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch
(ServletExternalContextImpl.java:425)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView
(JspViewHandlerImpl.java:255)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute
(RenderResponseExecutor.java:41)
at org.apache.myfaces.lifecycle.LifecycleImpl.render
(LifecycleImpl.java:146)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:147)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1093)
at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter
(SaveSessionFilter.java:35)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle
(AppVersionHandlerMap.java:237)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete
(HttpConnection.java:830)
at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable
(RpcRequestParser.java:63)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest
(JettyServletEngineAdapter.java:125)
at com.google.apphosting.runtime.JavaRuntime.handleRequest
(JavaRuntime.java:235)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:4547)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:4545)
at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
(BlockingApplicationHandler.java:24)
at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
359)
at com.google.net.rpc.impl.Server$2.run(Server.java:792)
at com.google.tracing.LocalTraceSpanRunnable.run
(LocalTraceSpanRunnable.java:56)
at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
(LocalTraceSpanBuilder.java:489)
at com.google.net.rpc.impl.Server.startRpc(Server.java:748)
at co

[google-appengine] Re: Facebook performance issues

2009-04-15 Thread Ben Nevile

Hi Joe,

I use GAE to host a variety of Facebook Apps.

When you say the app is showing an average HTTP response time of
1300ms, where are you getting that number from?

Ben



On Apr 14, 4:44 pm, Joe  wrote:
> I recently launched a Facebook application using Google AE as the
> backend (http://apps.facebook.com/lawoflargenumbers/).
>
> Unfortunately, the app is showing an average HTTP response time of
> approx 1300 ms...which is quite poor.  Can anybody tell me if this is
> normal for Facebook apps using AE as the backend?
>
> thanks,
>
> Joe
--~--~-~--~~~---~--~~
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: Silly db.TextProperty question

2009-04-15 Thread 风笑雪
Seems no problems with me:

class Msg(db.Model):
  text = db.TextProperty()

class Handler(webapp.RequestHandler):
  def get(self):
msg = Msg.all().get()
if not msg:
  msg = Msg(text='')
msg.text += ' ' + self.request.get('data')
msg.put()
self.response.out.write(msg.text)


2009/4/15 Paul Kinlan 

> Hi,
>
> I swear this used to work.
>
> I have a TextProperty on one of models, and I append to it as follows:
>
> user.blocked_user_list = user.blocked_user_list + " " + unfollower
> user.put()
>
> However, I am noticing now that the "blocked_user_list" property is not
> getting updated when it the user entity is put to the datastore.  I am
> pretty positive this used to work correctly because there is data in many of
> the entities.
>
> Has something changed recently?  Am I being dim?
>
> Paul
>
> >
>

--~--~-~--~~~---~--~~
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: IntegerProperty doesn't result in an int

2009-04-15 Thread djidjadji

Do you reference the IntegerProperty with the class name or with self?

istr = str(MyCustomModel.iprop) # this gives your string value

or

istr = str(self.iprop)  # this should give the integer value


2009/4/13 alex :
>
> Got a class that extends db.Model with an IntegerProperty among the
> others. It's gets set at creation time (moreover, has required=True).
> Now, when I fetch an instance of this class, all other properties
> resolve just fine (StringProperty, DateTimeProperty, etc.). Now,
> passing IntegerProperty to str(), here's what I get:
> --
>  object at 0x01A0CC30>>
> --
> .filter('int_property = ', some_int_value) doesn't work as well.
> How could that be?
> TIA.
>
> >
>

--~--~-~--~~~---~--~~
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: Updating a single property in datastore

2009-04-15 Thread 风笑雪
No, datastore can't do it.
An entity is stored in the datastore as a key: value pair. Its value is
combined by all its properties as a string.

It may looks like that:

first: 'int|1|string|hello|email|he...@google.com'
second: 'int|2|string|world|email|wo...@google.com'

So you can only get/set all its properties at a same time.

2009/4/15 Andrew Fong 

>
> Let's say I already know the key of an entity in the datastore I want
> to update and want to update only a single property value inside that
> entity.
>
> With SQL, you would simply do UPDATE table SET table.a = new_value
> WHERE key=key_value
>
> Is it possible to do the same with the AppEngine datastore? If I
> simply create a new db.Model instance with the same key and set the
> new value, calling put on this instance overrides all properties for
> this entity, not just the one I want to update.
>
> Therefore, I currently have to retrieve the existing entity, update
> the value, and then do the put. This is two datastore operations
> instead of just one. I'm doing a lot of batch operations using the
> remote_api, and I'd like to minimize and round-trip times.
>
> -- Andrew
> >
>

--~--~-~--~~~---~--~~
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: Need an article to handle properly a datastore timeout

2009-04-15 Thread Sylvain

Only 1 get_by_keyname, I ever seen a timeout on it.

@Andy : 
http://code.google.com/intl/fr/appengine/docs/java/datastore/transactions.html#What_Can_Be_Done_In_a_Transaction

"All datastore operations in a transaction must operate on entities in
the same entity group."
It is not one kind, sorry. But they must belong to the same entity
group

Regards

On 15 avr, 17:18, 风笑雪  wrote:
> Maybe you can use entity group, that will makes it simpler.
> fetch(50) will return in 0.1 second, but if you do 50 times get_by_keyname,
> it may timeout.
>
> 2009/4/15 Sylvain 
>
>
>
> > Maybe, but my app needs it. So I will not change it for that.
>
> > And even with 3 entities of 3 different kinds you have to manualy
> > rollback it because a transaction works only with 1 kind. So If the
> > timeout happends on the second write, you have to manually rollback
> > the first put() and it can be very complicated if the number of
> > entites/kinds increases.
>
> > Another thing, you can have a timeout on a a simple get_by_keyname,
> > fetch(50),... etc,... So the number of write is not the only/main
> > issue and a request can wait 30s so it should no be an issue.
>
> > I understand that in order to remove timeout we have to change things
> > but an article that explain what to do and how could be very usefull.
>
> > During the first  "app chat" (long time ago), I've asked for it and it
> > seems the Google team agree with it. So :)
>
> >http://groups.google.com/group/google-appengine/browse_frm/thread/ced...
>
> > Regards.
>
> > On 15 avr, 16:00, 风笑雪  wrote:
> > > It's not recommend to write more than 20 entities in one request, and I
> > > don't think you will exceed it in a common request.The datastore has such
> > > a limitation of writing, you can't treat it as a relationship db. (In my
> > > test, it takes about 1 second to put 100 simple entities into db.)
>
> > > However, sometimes we may meet this situation.
> > > My suggest is to limit the number of entities as possible, use
> > > "db.run_in_transaction" to keep entities correct and complete saved to
> > db.
> > > If possible, AJAX calls can help you breaks a big transaction into
> > several
> > > small transaction.
> > > And you can set how many times the transaction should try when operation
> > > fails, so you can give a failed message to user before timeout.
>
> > > 2009/4/15 Sylvain 
>
> > > > Hi,
>
> > > > Currently, I think 0.5% of my Datastore operations result in a
> > > > datastore timeout.
> > > > I don't know why... It can be raised on very simple or very
> > > > complicated operation.
>
> > > > For my app for example, the problem is that it can occur during a big
> > > > request where I need to create 50-100 entities of 3 different kinds.
> > > > So I need to manually rollback everything and it can be difficult.
>
> > > > Having a "big" transaction could be a solution, but GAE it too limited
> > > > (only 1 kind,).
>
> > > > It seems that datastore timeout will always be there and we have to
> > > > manage them. So I think we need an article that explains how to handle
> > > > them properly with different scenarios. It will be very appreciated.
>
> > > > Regards.
--~--~-~--~~~---~--~~
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: Need an article to handle properly a datastore timeout

2009-04-15 Thread 风笑雪
Maybe you can use entity group, that will makes it simpler.
fetch(50) will return in 0.1 second, but if you do 50 times get_by_keyname,
it may timeout.

2009/4/15 Sylvain 

>
> Maybe, but my app needs it. So I will not change it for that.
>
> And even with 3 entities of 3 different kinds you have to manualy
> rollback it because a transaction works only with 1 kind. So If the
> timeout happends on the second write, you have to manually rollback
> the first put() and it can be very complicated if the number of
> entites/kinds increases.
>
> Another thing, you can have a timeout on a a simple get_by_keyname,
> fetch(50),... etc,... So the number of write is not the only/main
> issue and a request can wait 30s so it should no be an issue.
>
> I understand that in order to remove timeout we have to change things
> but an article that explain what to do and how could be very usefull.
>
> During the first  "app chat" (long time ago), I've asked for it and it
> seems the Google team agree with it. So :)
>
> http://groups.google.com/group/google-appengine/browse_frm/thread/cedc737d9678af06/ec5af0d421e445da
>
> Regards.
>
> On 15 avr, 16:00, 风笑雪  wrote:
> > It's not recommend to write more than 20 entities in one request, and I
> > don't think you will exceed it in a common request.The datastore has such
> > a limitation of writing, you can't treat it as a relationship db. (In my
> > test, it takes about 1 second to put 100 simple entities into db.)
> >
> > However, sometimes we may meet this situation.
> > My suggest is to limit the number of entities as possible, use
> > "db.run_in_transaction" to keep entities correct and complete saved to
> db.
> > If possible, AJAX calls can help you breaks a big transaction into
> several
> > small transaction.
> > And you can set how many times the transaction should try when operation
> > fails, so you can give a failed message to user before timeout.
> >
> > 2009/4/15 Sylvain 
> >
> >
> >
> > > Hi,
> >
> > > Currently, I think 0.5% of my Datastore operations result in a
> > > datastore timeout.
> > > I don't know why... It can be raised on very simple or very
> > > complicated operation.
> >
> > > For my app for example, the problem is that it can occur during a big
> > > request where I need to create 50-100 entities of 3 different kinds.
> > > So I need to manually rollback everything and it can be difficult.
> >
> > > Having a "big" transaction could be a solution, but GAE it too limited
> > > (only 1 kind,).
> >
> > > It seems that datastore timeout will always be there and we have to
> > > manage them. So I think we need an article that explains how to handle
> > > them properly with different scenarios. It will be very appreciated.
> >
> > > Regards.
> >
>

--~--~-~--~~~---~--~~
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: Java Vs Python

2009-04-15 Thread 风笑雪
Forgot to say:
My model has two properties: an int and a string.

2009/4/15 风笑雪 

> I can give you some result of db operation using Python.
> I did this test last week, but I can't find my code now...
>
> Someone can give a Java benchmark?
>
>
> result unit: second
>
> add 100 entities:
>
> 1.07751011848
> 1.78107213974
> 0.826889038086
> 2.46827101707
> 0.966767072678
>
> fetch 100 entities:
>
> 0.0892021656036
> 0.108892917633
> 0.105209112167
> 0.0894641876221
> 0.1026699543
>
> update 100 entities:
>
> 0.893841028214
> 0.999007940292
> 1.11865115166
> 1.06479501724
> 0.981703996658
>
> delete 100 entities:
>
> 0.81419301033
> 0.84040594101
> 0.949120998383
> 0.903990030289
> 0.863884925842
>
> 2009/4/15 Sylvain 
>
>
>> We need a benchmark :)
>>
>> On 15 avr, 16:32, 风笑雪  wrote:
>> > I think right now, Python is more powerful and easier than Java in
>> GAE.You
>> > need much less configuration and code to do a same thing in Python.
>> >
>> > In my opinion, Python will save you 60% to 80% time of coding, but runs
>> 5 to
>> > 10 times slower than Java.
>> > However, about 80% time is cost in db operation, and there won't be much
>> > difference their performance. (I haven't test it yet.)
>> >
>> > 2009/4/15 lok 
>> >
>> >
>> >
>> > > As my corp only use .net and Java
>> > > My SA told me to study what is the difference between Java  and Python
>> > > in terms of their functionality and performance .
>> > > Is that everything can be done by Python  can also be done by java in
>> > > Google App ?
>> >>
>>
>

--~--~-~--~~~---~--~~
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: Need an article to handle properly a datastore timeout

2009-04-15 Thread Andy Freeman

> And even with 3 entities of 3 different kinds you have to manualy
> rollback it because a transaction works only with 1 kind.

Where is it documented that a transaction only works with one kind?

The SDK is quite happy to do transactions involving db.Model instances
of different kinds.

On Apr 15, 7:47 am, Sylvain  wrote:
> Maybe, but my app needs it. So I will not change it for that.
>
> And even with 3 entities of 3 different kinds you have to manualy
> rollback it because a transaction works only with 1 kind. So If the
> timeout happends on the second write, you have to manually rollback
> the first put() and it can be very complicated if the number of
> entites/kinds increases.
>
> Another thing, you can have a timeout on a a simple get_by_keyname,
> fetch(50),... etc,... So the number of write is not the only/main
> issue and a request can wait 30s so it should no be an issue.
>
> I understand that in order to remove timeout we have to change things
> but an article that explain what to do and how could be very usefull.
>
> During the first  "app chat" (long time ago), I've asked for it and it
> seems the Google team agree with it. So 
> :)http://groups.google.com/group/google-appengine/browse_frm/thread/ced...
>
> Regards.
>
> On 15 avr, 16:00, 风笑雪  wrote:
>
>
>
> > It's not recommend to write more than 20 entities in one request, and I
> > don't think you will exceed it in a common request.The datastore has such
> > a limitation of writing, you can't treat it as a relationship db. (In my
> > test, it takes about 1 second to put 100 simple entities into db.)
>
> > However, sometimes we may meet this situation.
> > My suggest is to limit the number of entities as possible, use
> > "db.run_in_transaction" to keep entities correct and complete saved to db.
> > If possible, AJAX calls can help you breaks a big transaction into several
> > small transaction.
> > And you can set how many times the transaction should try when operation
> > fails, so you can give a failed message to user before timeout.
>
> > 2009/4/15 Sylvain 
>
> > > Hi,
>
> > > Currently, I think 0.5% of my Datastore operations result in a
> > > datastore timeout.
> > > I don't know why... It can be raised on very simple or very
> > > complicated operation.
>
> > > For my app for example, the problem is that it can occur during a big
> > > request where I need to create 50-100 entities of 3 different kinds.
> > > So I need to manually rollback everything and it can be difficult.
>
> > > Having a "big" transaction could be a solution, but GAE it too limited
> > > (only 1 kind,).
>
> > > It seems that datastore timeout will always be there and we have to
> > > manage them. So I think we need an article that explains how to handle
> > > them properly with different scenarios. It will be very appreciated.
>
> > > Regards.- Hide quoted text -
>
> - Show quoted text -
--~--~-~--~~~---~--~~
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: 500 Internal Server Error while deploying using eclipse

2009-04-15 Thread kp

Jason: Yes, my account has been activated, that wasn't the problem. I
got it working yesterday, though. I figured out the 1000 file limit
(which isn't clearly stated on the website), and I had well over 1000
files. When I reduced the number of files to be closer to 1000, but
still over 1000, it gave me the more specific error of "maximum number
of files or blobs is 1000". Once I consolidated this under 1000, it
worked fine.

Sorry for the double posting- not sure why this is happening ( using
Google Chrome :-/ )

On Apr 14, 3:47 pm, "Jason (Google)"  wrote:
> Sudeep: I've seen this error before with users of a Google Apps domain? Is
> najanaja.com a Google Apps domain per chance? If so, try using a Gmail
> address or another account not associated with Google Apps. Don't forget to
> sign that account up for the Java "early look" 
> athttp://appengine.google.com/promo/java_runtime.
> kp: Did you receive an email saying your App Engine for Java account was
> activated for your Gmail account?
>
> - Jason
>
> On Mon, Apr 13, 2009 at 1:11 PM, kp  wrote:
>
> > I agree, this is very frustrating. This happens on both my gmail
> > account, and my google apps domain account. Here is the Eclipse error
> > log, if anybody else has any ideas (app id removed):
>
> > Unable to upload app: Error posting to URL:
>
> >http://appengine.google.com/api/appversion/clonefiles?app_id=(myappid...
> > 500 Internal Server Error
> > Server Error (500)
> > A server error has occurred.
>
> >         at com.google.appengine.tools.admin.AppAdminImpl.update
> > (AppAdminImpl.java:47)
> >        at
> > com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy
> > (AppEngineBridgeImpl.java:203)
> >        at
> > com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace
> > (DeployProjectJob.java:97)
> >        at org.eclipse.core.internal.resources.InternalWorkspaceJob.run
> > (InternalWorkspaceJob.java:38)
> >        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
>
> > Caused by: java.io.IOException: Error posting to URL:
>
> >http://appengine.google.com/api/appversion/clonefiles?app_id=(myappid...
> > 500 Internal Server Error
> > Server Error (500)
> > A server error has occurred.
>
> >         at com.google.appengine.tools.admin.ServerConnection.send
> > (ServerConnection.java:114)
> >        at com.google.appengine.tools.admin.ServerConnection.post
> > (ServerConnection.java:66)
> >        at com.google.appengine.tools.admin.AppVersionUpload.send
> > (AppVersionUpload.java:345)
> >        at com.google.appengine.tools.admin.AppVersionUpload.cloneFiles
> > (AppVersionUpload.java:211)
> >        at
> > com.google.appengine.tools.admin.AppVersionUpload.beginTransaction
> > (AppVersionUpload.java:174)
> >        at com.google.appengine.tools.admin.AppVersionUpload.doUpload
> > (AppVersionUpload.java:68)
> >        at com.google.appengine.tools.admin.AppAdminImpl.update
> > (AppAdminImpl.java:41)
>
> > On Apr 13, 11:55 am, Sudeep Bhattarai  wrote:
> > > And by the way, I was using google's tutorial to create and deploy
> > app..no
> > > fancy stuff
>
> > > On Mon, Apr 13, 2009 at 11:54 AM, Sudeep Bhattarai  > >wrote:
>
> > > > Hi,No. I gave up..It is just too frustrating.
>
> > > > On Mon, Apr 13, 2009 at 2:42 AM, kp  wrote:
>
> > > >> Any update on this issue, or did you get it figured out? I'm having
> > > >> the same problem that you are, and I can't figure out why it's
> > > >> happening.
>
> > > >> On Apr 11, 12:46 pm, "sud...@najanaja.com" 
> > > >> wrote:
> > > >> > I keep getting following error while deploying my java app. What
> > could
> > > >> > be the reason?
>
> > > >> > Unable to upload app: Error posting to URL:
> > > >>http://appengine.google.com/api/appversion/create?app_id=hohalla8&ver.
> > ..
> > > >> > 500 Internal Server Error
>
> > > >> > Server Error (500)
> > > >> > A server error has occurred.
>
> > > >> > See the Eclipse error log for more details
> > > >> > Unable to upload app: Error posting to URL:
> > > >>http://appengine.google.com/api/appversion/create?app_id=hohalla8&ver.
> > ..
> > > >> > 500 Internal Server Error
>
> > > >> > Server Error (500)
> > > >> > A server error has occurred.
--~--~-~--~~~---~--~~
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: Java Vs Python

2009-04-15 Thread 风笑雪
I can give you some result of db operation using Python.
I did this test last week, but I can't find my code now...

Someone can give a Java benchmark?


result unit: second

add 100 entities:

1.07751011848
1.78107213974
0.826889038086
2.46827101707
0.966767072678

fetch 100 entities:

0.0892021656036
0.108892917633
0.105209112167
0.0894641876221
0.1026699543

update 100 entities:

0.893841028214
0.999007940292
1.11865115166
1.06479501724
0.981703996658

delete 100 entities:

0.81419301033
0.84040594101
0.949120998383
0.903990030289
0.863884925842

2009/4/15 Sylvain 

>
> We need a benchmark :)
>
> On 15 avr, 16:32, 风笑雪  wrote:
> > I think right now, Python is more powerful and easier than Java in
> GAE.You
> > need much less configuration and code to do a same thing in Python.
> >
> > In my opinion, Python will save you 60% to 80% time of coding, but runs 5
> to
> > 10 times slower than Java.
> > However, about 80% time is cost in db operation, and there won't be much
> > difference their performance. (I haven't test it yet.)
> >
> > 2009/4/15 lok 
> >
> >
> >
> > > As my corp only use .net and Java
> > > My SA told me to study what is the difference between Java  and Python
> > > in terms of their functionality and performance .
> > > Is that everything can be done by Python  can also be done by java in
> > > Google App ?
> >
>

--~--~-~--~~~---~--~~
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: entity stuck at the wrong end of the index

2009-04-15 Thread Ben Nevile

To add another twist, now I have an entity at the top of the stack
that is found using

  q = FacebookUser.all()
  q.filter('authorized = ',True)
  q.order('last_nudged_at')
  u = q.get()

but, if you try to load this entity by key, as you need to do for a
transaction, you get None back.   Trying to access that entity's
record in the Data Viewer also threw an exception.  I was, however,
able to delete it from the top of that index listing using the Data
Viewer's GQL option.

Ben



On Apr 14, 3:38 pm, Ben Nevile  wrote:
> Hi Jeff,
>
> To clarify, the last_nudged_at property *is* changed, but the entity
> stays at the top of the stack.
>
> Ben
>
> On Apr 14, 12:26 pm, Jeff S  wrote:
>
>
>
> > Hi Ben,
>
> > If you are experiencing write contention on some of these updates,
> > then that may explain why the last_nudged_at  property is not changed
> > and an entity tends to stay at the top of the stack. Do you see
> > datastore timeout errors in these cases (I imagine the exception may
> > be hidden somewhere in the JavaScript <--> server exchange)?
>
> > Thank you,
>
> > Jeff
>
> > On Apr 14, 11:48 am, Ben Nevile  wrote:
>
> > > bump.  I have observed this many times over the past few days.  Maybe
> > > has to do with transactions and/or write contention, since there is a
> > > lot of that in my app.
>
> > > Ben
>
> > > On Apr 1, 8:23 pm, Ben Nevile  wrote:
>
> > > > Hi GAE team and devotees,
>
> > > > I have a entity that looks like
>
> > > > class FacebookUser(db.Model):
> > > >   expired_fotm =          db.BooleanProperty()
> > > >   last_nudged_at =        db.DateTimeProperty()
>
> > > > and an index that looks like
>
> > > > - kind: FacebookUser
> > > >   properties:
> > > >   - name: expired_fotm
> > > >   - name: last_nudged_at
>
> > > > Unbeknownst to the users of my application, some javascript is
> > > > constantly polling a worker handler that finds the first entity in the
> > > > index, operates on it, then sets "last_nudged_at" to the current
> > > > time.  There are more than a million of these entities so it takes
> > > > some time to go through them all.
>
> > > > This afternoon using the Data Viewer and the GQL query "SELECT * FROM
> > > > FacebookUser where expired_fotm=True order by last_nudged_at" I
> > > > observed several times that an entity would remain "stuck" in the
> > > > first position in the index after it was processed.  Usually it would
> > > > remain there only for 10-30 seconds.  However this evening one entity
> > > > stayed in an incorrect index position for several hours.  I put() it
> > > > again and it properly indexed itself.
>
> > > > Has anyone ever observed anything like this? Let me know if I'm not
> > > > making myself clear.
>
> > > > Ben <3 GAE
--~--~-~--~~~---~--~~
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: Fetching db.Key's instead of the full data

2009-04-15 Thread 风笑雪
No you can't.
The entity stores as a pair of (key: value). You can only get both of them
at a same time.

I suggest you use a memcache:

index = memcache.get('index')
if not index:
  index = []
  result = query.fetch(15) # maybe you need do it several times
  index.append([e.key() for e in result]) # maybe you need
append several times
  memcache.set('index', index)

2009/4/15 mbac...@googlemail.com 

>
> Hello everyone, I would like to ask if there is any way to fetch only
> db.Key objects from a db.Query. I want to generate a list of links (a
> Google sitemap) that point to the place there all the data is shown.
> All the information to generate the link is part of the key name and
> therefore fetching hundreds of db.Model instances is not needed.
> Currently I can fetch around 15 instances, because of the datastore
> timeout limits. I am already using sitemapindexe's to split my sitemap
> into multiple HTTP requests, but I still need to fetch more than those
> ~15 key names to display all links.
>
> Any ideas? Thanks in advance.
>
> >
>

--~--~-~--~~~---~--~~
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: Java Vs Python

2009-04-15 Thread Sylvain

We need a benchmark :)

On 15 avr, 16:32, 风笑雪  wrote:
> I think right now, Python is more powerful and easier than Java in GAE.You
> need much less configuration and code to do a same thing in Python.
>
> In my opinion, Python will save you 60% to 80% time of coding, but runs 5 to
> 10 times slower than Java.
> However, about 80% time is cost in db operation, and there won't be much
> difference their performance. (I haven't test it yet.)
>
> 2009/4/15 lok 
>
>
>
> > As my corp only use .net and Java
> > My SA told me to study what is the difference between Java  and Python
> > in terms of their functionality and performance .
> > Is that everything can be done by Python  can also be done by java in
> > Google App ?
--~--~-~--~~~---~--~~
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: Need an article to handle properly a datastore timeout

2009-04-15 Thread Sylvain

Maybe, but my app needs it. So I will not change it for that.

And even with 3 entities of 3 different kinds you have to manualy
rollback it because a transaction works only with 1 kind. So If the
timeout happends on the second write, you have to manually rollback
the first put() and it can be very complicated if the number of
entites/kinds increases.

Another thing, you can have a timeout on a a simple get_by_keyname,
fetch(50),... etc,... So the number of write is not the only/main
issue and a request can wait 30s so it should no be an issue.

I understand that in order to remove timeout we have to change things
but an article that explain what to do and how could be very usefull.

During the first  "app chat" (long time ago), I've asked for it and it
seems the Google team agree with it. So :)
http://groups.google.com/group/google-appengine/browse_frm/thread/cedc737d9678af06/ec5af0d421e445da

Regards.

On 15 avr, 16:00, 风笑雪  wrote:
> It's not recommend to write more than 20 entities in one request, and I
> don't think you will exceed it in a common request.The datastore has such
> a limitation of writing, you can't treat it as a relationship db. (In my
> test, it takes about 1 second to put 100 simple entities into db.)
>
> However, sometimes we may meet this situation.
> My suggest is to limit the number of entities as possible, use
> "db.run_in_transaction" to keep entities correct and complete saved to db.
> If possible, AJAX calls can help you breaks a big transaction into several
> small transaction.
> And you can set how many times the transaction should try when operation
> fails, so you can give a failed message to user before timeout.
>
> 2009/4/15 Sylvain 
>
>
>
> > Hi,
>
> > Currently, I think 0.5% of my Datastore operations result in a
> > datastore timeout.
> > I don't know why... It can be raised on very simple or very
> > complicated operation.
>
> > For my app for example, the problem is that it can occur during a big
> > request where I need to create 50-100 entities of 3 different kinds.
> > So I need to manually rollback everything and it can be difficult.
>
> > Having a "big" transaction could be a solution, but GAE it too limited
> > (only 1 kind,).
>
> > It seems that datastore timeout will always be there and we have to
> > manage them. So I think we need an article that explains how to handle
> > them properly with different scenarios. It will be very appreciated.
>
> > Regards.
--~--~-~--~~~---~--~~
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: Java Vs Python

2009-04-15 Thread 风笑雪
I think right now, Python is more powerful and easier than Java in GAE.You
need much less configuration and code to do a same thing in Python.

In my opinion, Python will save you 60% to 80% time of coding, but runs 5 to
10 times slower than Java.
However, about 80% time is cost in db operation, and there won't be much
difference their performance. (I haven't test it yet.)

2009/4/15 lok 

>
> As my corp only use .net and Java
> My SA told me to study what is the difference between Java  and Python
> in terms of their functionality and performance .
> Is that everything can be done by Python  can also be done by java in
> Google App ?
>
> >
>

--~--~-~--~~~---~--~~
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: I've just found that the app.yaml file won't allow more than 100 handlers...

2009-04-15 Thread Larry

Thanks for the idea! Quite a few URLs are similar so it seems most
sensible.

I also should have noted in my OP that I noticed this on the
development server and not on the production server. Either or both
means I'll need the work around.

On Apr 15, 1:56 am, Gopal Vaswani  wrote:
> Hi Larry,
>
> I hope you are talking about the number of handlers in the handler script.
> Its strange that GAE does not allow more than 100 handlers. it should not be
> the case normally.
> Anyway, one way you can overcome this issue is to use regex groups to
> capture URL specific parameters and process the request based on the
> parameter. This should bring down the number of handlers as I am assuming
> that many of your urls would be similar.
>
> Vaswani
>
> On Tue, Apr 14, 2009 at 2:44 PM, Larry  wrote:
>
> > Hi
>
> > I've just found that the app.yaml file won't allow more than 100
> > handlers. I know this seems plenty but using handlers quite
> > conservatively I have found myself requiring slightly more than 100
> > handlers for my forum. I could just map every URL into one handler and
> > have that search a dictionary for the correct class to handle the
> > request but that is rather irritating to recode.
>
> > Are there any better plans? Should I file a bug report requesting a
> > larger number of handlers. I personally think it should be dynamic
> > (IE: not limited) or at least be mentioned in the documentation. I
> > could have avoided this situation had I known about the restriction.
>
> > Thanks!
>
> > Larry
--~--~-~--~~~---~--~~
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: why I can not delete data in my google app engine ?

2009-04-15 Thread 风笑雪
You need check the Stored Data in your dashboard.

And it runs much more faster:
results = q.fetch(100)db.delete(result)

or:

db.delete(q.fetch(100))


2009/4/15 新手1 

>
>
> When I received the bellow message:
>
> Your application is exceeding a quota: Stored Data .
>
> I know my data will exceeding 1Gb . so  I delete all my records one by
> one , but after delete all records , threre still have warning :
> Your application is exceeding a quota: Stored Data . .
>
>
> Why I can not delete my records and free store data space ?
>
> my code as bellow:
>results = q.fetch(2)
>for result in results:
>self.response.out.write( something to client )
>result.delete()
>
>
>
> and suggestion will appriciated
>
> >
>

--~--~-~--~~~---~--~~
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: retrieving the key after using the put() method

2009-04-15 Thread 风笑雪
You can do it this way:

class Test(db.Model):
  pass

class TestHandler(webapp.RequestHandler):
  def get(self):
test = Test()
# self.response.out.write(test.key())
# don't do that, it will raise a NotSavedError
test.put()
self.response.out.write(test.key())
# after put(), it works fine. But maybe you need a try...except

2009/4/15 bamkraxler 

>
> I have a form that a user fills out and submits to the datastore.
> Data is inserted using the put() method.  After the insert I would
> like to immediately query the datastore and display to the user that
> which was committed.  This is fairly standard stuff and is supported
> in various ways (some better than others) in a lot of different
> databases -- been doing it for years.  Apparently there is no way to
> do this with the GAE, however, as the key(), though automatically
> generated by the database, is not returned as a property of the
> instance that called the put() method.  Is there a way to get the key
> belonging to a put()?
> >
>

--~--~-~--~~~---~--~~
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: Need an article to handle properly a datastore timeout

2009-04-15 Thread 风笑雪
It's not recommend to write more than 20 entities in one request, and I
don't think you will exceed it in a common request.The datastore has such
a limitation of writing, you can't treat it as a relationship db. (In my
test, it takes about 1 second to put 100 simple entities into db.)

However, sometimes we may meet this situation.
My suggest is to limit the number of entities as possible, use
"db.run_in_transaction" to keep entities correct and complete saved to db.
If possible, AJAX calls can help you breaks a big transaction into several
small transaction.
And you can set how many times the transaction should try when operation
fails, so you can give a failed message to user before timeout.

2009/4/15 Sylvain 

>
> Hi,
>
> Currently, I think 0.5% of my Datastore operations result in a
> datastore timeout.
> I don't know why... It can be raised on very simple or very
> complicated operation.
>
> For my app for example, the problem is that it can occur during a big
> request where I need to create 50-100 entities of 3 different kinds.
> So I need to manually rollback everything and it can be difficult.
>
> Having a "big" transaction could be a solution, but GAE it too limited
> (only 1 kind,).
>
> It seems that datastore timeout will always be there and we have to
> manage them. So I think we need an article that explains how to handle
> them properly with different scenarios. It will be very appreciated.
>
> Regards.
> >
>

--~--~-~--~~~---~--~~
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] retrieving the key after using the put() method

2009-04-15 Thread bamkraxler

I have a form that a user fills out and submits to the datastore.
Data is inserted using the put() method.  After the insert I would
like to immediately query the datastore and display to the user that
which was committed.  This is fairly standard stuff and is supported
in various ways (some better than others) in a lot of different
databases -- been doing it for years.  Apparently there is no way to
do this with the GAE, however, as the key(), though automatically
generated by the database, is not returned as a property of the
instance that called the put() method.  Is there a way to get the key
belonging to a put()?
--~--~-~--~~~---~--~~
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] Contact Info and max number apps

2009-04-15 Thread Wendel

Hello,

I can't find any contact form or telephone number in the dashboard,
does this mean that google doesn't provide any form of support?

Is it possible to increase the maximum number (10) of apps running on
a single account? Is there a request form for this purpose?

Thanks,

Wendel

--~--~-~--~~~---~--~~
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] Java Vs Python

2009-04-15 Thread lok

As my corp only use .net and Java
My SA told me to study what is the difference between Java  and Python
in terms of their functionality and performance .
Is that everything can be done by Python  can also be done by java in
Google App ?

--~--~-~--~~~---~--~~
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] why I can not delete data in my google app engine ?

2009-04-15 Thread 新手1


When I received the bellow message:

Your application is exceeding a quota: Stored Data .

I know my data will exceeding 1Gb . so  I delete all my records one by
one , but after delete all records , threre still have warning :
Your application is exceeding a quota: Stored Data . .


Why I can not delete my records and free store data space ?

my code as bellow:
results = q.fetch(2)
for result in results:
self.response.out.write( something to client )
result.delete()



and suggestion will appriciated

--~--~-~--~~~---~--~~
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: Using referenced class properties in GQL Query WHERE clause

2009-04-15 Thread olex13

Thank you, explanations are very clear!

I will go with this version:

class Thread(db.Mode):
  user = db.UserProperty()
  user_email = db.EmailProperty()

+ index on user_email

BR, Olex

On 15 Кві, 16:01, 风笑雪  wrote:
> Well, a mistake again...user.thread_set, not user.user_set
> Give you an example:
>
> class User(db.Model):
>   email = db.EmailProperty()
>
> class Thread(db.Model):
>   user = db.ReferenceProperty(User)
>
> class Foo(webapp.RequestHandler):
>   def get(self):
>     user = User(email='kea...@gmail.com')
>     user.put()  # NOTE: you need save it before reference it
>     thread = Thread(user=user).put()
>
> class Bar(webapp.RequestHandler):
>   def get(self):
>     user = User.gql('WHERE email = :1', 'kea...@gmail.com').get()
>     thread = user.thread_set[0]
>     if thread
>       self.response.out.write(thread.user.email)
>
> 2009/4/15 风笑雪 
>
> > Sorry I forgot to fetch.
> > user = User.gql('WHERE email = :1', email).get()
> > threads = user.user_set  # if they are 1:1 relationship, it would be ok:
> > thread = user.user_set[0]
> > for thread in threads:
> >   ...
>
> > 2009/4/15 风笑雪 
>
> > Seems you can do it. Remember it: it's not a relationship DB, you
> >> should organize an entity as how you use it.
> >> If you just want email to identify a thread, you can simply define:
>
> >> class Thread(db.Mode):
> >>   email = db.EmailProperty()
>
> >> or this is ok too:
>
> >>  class Thread(db.Mode):
> >>   user = db.UserProperty()
> >>   user_email = db.EmailProperty()
> >> You need to know the query need an index.
> >> When you perform a query on Thread, its index doesn't contain a attribute
> >> of user.email, so that would be wrong. NOTE: The Thread class only has 
> >> index
> >> on user, not user.email.
>
> >> If you don't want change your model, you can only do it this way:
>
> >> user = User.gql('WHERE email = :1', email)
> >> threads = user.user_set
> >> for thread in threads:
> >>   ...
>
> >> The '_set' means a back-reference property.
>
> >> You can get more details in "References" of "Entities and Models"
> >> document:
>
> >>http://code.google.com/appengine/docs/python/datastore/entitiesandmod...
>
> >> 2009/4/15 olex13 
>
> >>> Hmm, didn't get your point
>
> >>> Here:
>
> >>> --
> >>> class Thread(db.Model)
> >>>  user = dbReferenceProperty(User)
> >>> --
>
> >>> User  - name of referenced class
> >>> user - field name in Thread class
>
> >>> so I'm trying to navigate on the field property:
>
> >>> Thread.gql("WHERE user.email = :1", email)
>
> >>> PS
> >>> well, I checked: Thread.gql("WHERE User.email = :1", email)
> >>> raise the same error
>
> >>> On 15 Кві, 14:18, JDT  wrote:
> >>> > A naive question: I note that in this snippet you have User(db.model)
> >>> > and user.email.
> >>> > Is this a python case sensitivity issue? i.e. User != user ?
>
> >>> > D
>
> >>> > On Apr 14, 6:04 pm,olex13 wrote:
>
> >>> > > Hi,
>
> >>> > > Is it possible to use referenced-class properties in GQL query, like:
>
> >>> > > Thread.gql("WHERE user.email = :1", email)
>
> >>> > > class Thread(db.Model)
> >>> > >   user = dbReferenceProperty(User)
>
> >>> > > class User(db.Model)
> >>> > >  email = db.EmailProperty()
>
> >>> > > It seems logical to support this but I get: BadQueryError: Parse
> >>> > > Error: Invalid WHERE Condition at symbol .email
>
> >>> > > --
> >>> > > Olex
--~--~-~--~~~---~--~~
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] favicon.ico

2009-04-15 Thread ajkot

Good day!
I wonder if anybody knows howto add favicon.ico to my application
(Java version)?

--~--~-~--~~~---~--~~
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] Fetching db.Key's instead of the full data

2009-04-15 Thread mbac...@googlemail.com

Hello everyone, I would like to ask if there is any way to fetch only
db.Key objects from a db.Query. I want to generate a list of links (a
Google sitemap) that point to the place there all the data is shown.
All the information to generate the link is part of the key name and
therefore fetching hundreds of db.Model instances is not needed.
Currently I can fetch around 15 instances, because of the datastore
timeout limits. I am already using sitemapindexe's to split my sitemap
into multiple HTTP requests, but I still need to fetch more than those
~15 key names to display all links.

Any ideas? Thanks in advance.

--~--~-~--~~~---~--~~
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] Redirecting a html page from servlet

2009-04-15 Thread Satyajit p
Hi,
   I am trying to redirect a page from servelet to a html page.But I am
facing problem while doing so.It's cant find the file.

Please help me on this I am new to java in google apps.

--~--~-~--~~~---~--~~
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: Cron and app versions

2009-04-15 Thread Anthony Baxter

If your cron.yaml is missing, the cron jobs will be left alone as is.
If you want to remove the jobs, create a cron file just containing
'cron:' (python) or '' (java).

On Apr 14, 11:28 pm, 风笑雪  wrote:
> I haven't tried this, but I think it should be an issue.
>
> The cron.yaml doesn't contain a version filed, so it should request the
> default version, I mean yourapp.appspot.com/path, not
> yourversion.yourapp.appspot.com/path.
>
> If you switch to another version that doesn't contain a cron.yaml file, I
> think the cron ought to stop.
>
> 2009/4/14 William Shallum 
>
> >  Hi, when using cron in an app with multiple versions, shouldn't the cron
> > job run on the version that has the cron.yaml? It seems that currently the
> > cron job is run on the default version.
>
> > I changed the version in the admin console using the dropdown box but my
> > cron jobs (that are only in the latest version) are still displayed. The
> > cron job itself is marked as "failed" while a manual GET using a browser to
> > the versioned address does not result in an error. The cron requests show up
> > as 404 errors in the request logs of the default version. Bug?
>
> > Thanks,
>
> > William

--~--~-~--~~~---~--~~
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: Java Eclipse plugin dependent on "org.eclipse.wst.xml.core".

2009-04-15 Thread savanna

I had the same problem too. The solution that I found out is checking
the Google plugins first. They Eclipse shows the error message for the
missing xml plugin. Then I hit the "Select Required" button on the
right side and some packages in the Ganymede Discovery Site are
automatically selected and I was good to go.

On Apr 9, 10:24 am, Andrew  wrote:
> I had the same problem. My solution was to use the Update Manager to
> install new updates from the Europa Discovery Site (I’m using Europa ,
> rather than Ganymede). I wasn’t very discriminate and selected
> everything. Download took some time, but after restarting Eclipse, I
> could download and install the Google App Engine plugins.
>
> The version of Eclipse I has using had not been updated for sometime
> (the machine was being used for other purposes).
>
> On Apr 8, 6:45 pm, Alex Neth  wrote:
>
> > But I'm not sure where to find that:
>
> > Google Plugin for Eclipse 3.4 (1.0.0.v200904062334) requires plug-in
> > "org.eclipse.wst.xml.core".

--~--~-~--~~~---~--~~
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] Made a few GAE Java Tutorials

2009-04-15 Thread Leandro

Hello I'm Leandro and Ive made a few tutorials for the brnd new Java
version of the Google App Engine.

Below Is the live version and the svn from google code.

-http://code.google.com/p/gae-java-tutorial1/

Also commented the post here...

- http://www.lemil.com.ar/blog/index.php/2009/04/java-google-app-engine/

Cheers!

Leandro.

--~--~-~--~~~---~--~~
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] Facebook performance issues

2009-04-15 Thread Joe


I recently launched a Facebook application using Google AE as the
backend (http://apps.facebook.com/lawoflargenumbers/).

Unfortunately, the app is showing an average HTTP response time of
approx 1300 ms...which is quite poor.  Can anybody tell me if this is
normal for Facebook apps using AE as the backend?

thanks,

Joe

--~--~-~--~~~---~--~~
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: unique static ip pe r app/account (域名绑定独立 IP)

2009-04-15 Thread kiss242
Send this link to your friends who use GAE please.
If more people join this thread, there will be a chance to draw the
attention of Google.

On 4月11日, 下午7时36分, kiss242  wrote:
>   Since ghs.google.com is blocked by the gov in China and some other
> countries, binding domain is not available, the feature of charged
> unique static ip per app or account is essential for those developers/
> commercial companies who are offering services to users/clients in
> these countries.
>   Go tohttp://code.google.com/p/googleappengine/issues/detail?id=1269
> and Star this issue if you've got the same problem.
>
>   由于 ghs.google.com 被 中-国-政-府 封锁,无法绑定域名到自己的 GAE 程序,希望能够提供收费的独立 IP,以便能够通
> 过绑定的域名访问 GAE 程序。
>   如果 GHS 
> 被封锁对你影响很大,请进入http://code.google.com/p/googleappengine/issues/detail?id=1269
> 登录后点击标题 "Issue .. " 左边的星星表示自己非常关注这个问题。
--~--~-~--~~~---~--~~
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] Need an article to handle properly a datastore timeout

2009-04-15 Thread Sylvain

Hi,

Currently, I think 0.5% of my Datastore operations result in a
datastore timeout.
I don't know why... It can be raised on very simple or very
complicated operation.

For my app for example, the problem is that it can occur during a big
request where I need to create 50-100 entities of 3 different kinds.
So I need to manually rollback everything and it can be difficult.

Having a "big" transaction could be a solution, but GAE it too limited
(only 1 kind,).

It seems that datastore timeout will always be there and we have to
manage them. So I think we need an article that explains how to handle
them properly with different scenarios. It will be very appreciated.

Regards.
--~--~-~--~~~---~--~~
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: Using referenced class properties in GQL Query WHERE clause

2009-04-15 Thread 风笑雪
Well, a mistake again...user.thread_set, not user.user_set
Give you an example:

class User(db.Model):
  email = db.EmailProperty()

class Thread(db.Model):
  user = db.ReferenceProperty(User)

class Foo(webapp.RequestHandler):
  def get(self):
user = User(email='kea...@gmail.com')
user.put()  # NOTE: you need save it before reference it
thread = Thread(user=user).put()

class Bar(webapp.RequestHandler):
  def get(self):
user = User.gql('WHERE email = :1', 'kea...@gmail.com').get()
thread = user.thread_set[0]
if thread
  self.response.out.write(thread.user.email)


2009/4/15 风笑雪 

> Sorry I forgot to fetch.
> user = User.gql('WHERE email = :1', email).get()
> threads = user.user_set  # if they are 1:1 relationship, it would be ok:
> thread = user.user_set[0]
> for thread in threads:
>   ...
>
> 2009/4/15 风笑雪 
>
> Seems you can do it. Remember it: it's not a relationship DB, you
>> should organize an entity as how you use it.
>> If you just want email to identify a thread, you can simply define:
>>
>> class Thread(db.Mode):
>>   email = db.EmailProperty()
>>
>> or this is ok too:
>>
>>  class Thread(db.Mode):
>>   user = db.UserProperty()
>>   user_email = db.EmailProperty()
>> You need to know the query need an index.
>> When you perform a query on Thread, its index doesn't contain a attribute
>> of user.email, so that would be wrong. NOTE: The Thread class only has index
>> on user, not user.email.
>>
>> If you don't want change your model, you can only do it this way:
>>
>> user = User.gql('WHERE email = :1', email)
>> threads = user.user_set
>> for thread in threads:
>>   ...
>>
>> The '_set' means a back-reference property.
>>
>> You can get more details in "References" of "Entities and Models"
>> document:
>>
>> http://code.google.com/appengine/docs/python/datastore/entitiesandmodels.html
>>
>> 2009/4/15 olex13 
>>
>>
>>> Hmm, didn't get your point
>>>
>>> Here:
>>>
>>> --
>>> class Thread(db.Model)
>>>  user = dbReferenceProperty(User)
>>> --
>>>
>>> User  - name of referenced class
>>> user - field name in Thread class
>>>
>>> so I'm trying to navigate on the field property:
>>>
>>> Thread.gql("WHERE user.email = :1", email)
>>>
>>> PS
>>> well, I checked: Thread.gql("WHERE User.email = :1", email)
>>> raise the same error
>>>
>>> On 15 Кві, 14:18, JDT  wrote:
>>> > A naive question: I note that in this snippet you have User(db.model)
>>> > and user.email.
>>> > Is this a python case sensitivity issue? i.e. User != user ?
>>> >
>>> > D
>>> >
>>> > On Apr 14, 6:04 pm,olex13 wrote:
>>> >
>>> > > Hi,
>>> >
>>> > > Is it possible to use referenced-class properties in GQL query, like:
>>> >
>>> > > Thread.gql("WHERE user.email = :1", email)
>>> >
>>> > > class Thread(db.Model)
>>> > >   user = dbReferenceProperty(User)
>>> >
>>> > > class User(db.Model)
>>> > >  email = db.EmailProperty()
>>> >
>>> > > It seems logical to support this but I get: BadQueryError: Parse
>>> > > Error: Invalid WHERE Condition at symbol .email
>>> >
>>> > > --
>>> > > Olex
>>> >>>
>>>
>>
>

--~--~-~--~~~---~--~~
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: Announcing new Google App Engine SDK installable Live CD appliance

2009-04-15 Thread Liraz



On Apr 15, 12:05 pm, 风笑雪  wrote:
> Good job!

Thanks!

> Can it run in a flash memory?

Yeah, you can deploy it to any type of storage device just like with
any other appliance.


--~--~-~--~~~---~--~~
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: Announcing new Google App Engine SDK installable Live CD appliance

2009-04-15 Thread Liraz



On Apr 15, 11:46 am, David Symonds  wrote:
> You do realise that the SDK is *not* designed for use in "server-type
> usage scenarios"? It's purely for testing, and has no real security or
> scalability.

Yeah, the security features are inherited from the base system
(TurnKey Core).
Probably it doesn't make sense to emphasize them, given the usage
scenario.

Maybe in the future we will make an appliance based on AppScale, which
is a more useful implementation of Google App Engine:

http://code.google.com/p/appscale/

Cheers,
Liraz
--~--~-~--~~~---~--~~
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: Using referenced class properties in GQL Query WHERE clause

2009-04-15 Thread 风笑雪
Sorry I forgot to fetch.
user = User.gql('WHERE email = :1', email).get()
threads = user.user_set  # if they are 1:1 relationship, it would be ok:
thread = user.user_set[0]
for thread in threads:
  ...

2009/4/15 风笑雪 

> Seems you can do it. Remember it: it's not a relationship DB, you
> should organize an entity as how you use it.
> If you just want email to identify a thread, you can simply define:
>
> class Thread(db.Mode):
>   email = db.EmailProperty()
>
> or this is ok too:
>
>  class Thread(db.Mode):
>   user = db.UserProperty()
>   user_email = db.EmailProperty()
> You need to know the query need an index.
> When you perform a query on Thread, its index doesn't contain a attribute
> of user.email, so that would be wrong. NOTE: The Thread class only has index
> on user, not user.email.
>
> If you don't want change your model, you can only do it this way:
>
> user = User.gql('WHERE email = :1', email)
> threads = user.user_set
> for thread in threads:
>   ...
>
> The '_set' means a back-reference property.
>
> You can get more details in "References" of "Entities and Models"
> document:
>
> http://code.google.com/appengine/docs/python/datastore/entitiesandmodels.html
>
> 2009/4/15 olex13 
>
>
>> Hmm, didn't get your point
>>
>> Here:
>>
>> --
>> class Thread(db.Model)
>>  user = dbReferenceProperty(User)
>> --
>>
>> User  - name of referenced class
>> user - field name in Thread class
>>
>> so I'm trying to navigate on the field property:
>>
>> Thread.gql("WHERE user.email = :1", email)
>>
>> PS
>> well, I checked: Thread.gql("WHERE User.email = :1", email)
>> raise the same error
>>
>> On 15 Кві, 14:18, JDT  wrote:
>> > A naive question: I note that in this snippet you have User(db.model)
>> > and user.email.
>> > Is this a python case sensitivity issue? i.e. User != user ?
>> >
>> > D
>> >
>> > On Apr 14, 6:04 pm,olex13 wrote:
>> >
>> > > Hi,
>> >
>> > > Is it possible to use referenced-class properties in GQL query, like:
>> >
>> > > Thread.gql("WHERE user.email = :1", email)
>> >
>> > > class Thread(db.Model)
>> > >   user = dbReferenceProperty(User)
>> >
>> > > class User(db.Model)
>> > >  email = db.EmailProperty()
>> >
>> > > It seems logical to support this but I get: BadQueryError: Parse
>> > > Error: Invalid WHERE Condition at symbol .email
>> >
>> > > --
>> > > Olex
>> >>
>>
>

--~--~-~--~~~---~--~~
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: Using referenced class properties in GQL Query WHERE clause

2009-04-15 Thread 风笑雪
Seems you can do it. Remember it: it's not a relationship DB, you
should organize an entity as how you use it.
If you just want email to identify a thread, you can simply define:

class Thread(db.Mode):
  email = db.EmailProperty()

or this is ok too:

class Thread(db.Mode):
  user = db.UserProperty()
  user_email = db.EmailProperty()
You need to know the query need an index.
When you perform a query on Thread, its index doesn't contain a attribute
of user.email, so that would be wrong. NOTE: The Thread class only has index
on user, not user.email.

If you don't want change your model, you can only do it this way:

user = User.gql('WHERE email = :1', email)
threads = user.user_set
for thread in threads:
  ...

The '_set' means a back-reference property.

You can get more details in "References" of "Entities and Models" document:
http://code.google.com/appengine/docs/python/datastore/entitiesandmodels.html

2009/4/15 olex13 

>
> Hmm, didn't get your point
>
> Here:
>
> --
> class Thread(db.Model)
>  user = dbReferenceProperty(User)
> --
>
> User  - name of referenced class
> user - field name in Thread class
>
> so I'm trying to navigate on the field property:
>
> Thread.gql("WHERE user.email = :1", email)
>
> PS
> well, I checked: Thread.gql("WHERE User.email = :1", email)
> raise the same error
>
> On 15 Кві, 14:18, JDT  wrote:
> > A naive question: I note that in this snippet you have User(db.model)
> > and user.email.
> > Is this a python case sensitivity issue? i.e. User != user ?
> >
> > D
> >
> > On Apr 14, 6:04 pm,olex13 wrote:
> >
> > > Hi,
> >
> > > Is it possible to use referenced-class properties in GQL query, like:
> >
> > > Thread.gql("WHERE user.email = :1", email)
> >
> > > class Thread(db.Model)
> > >   user = dbReferenceProperty(User)
> >
> > > class User(db.Model)
> > >  email = db.EmailProperty()
> >
> > > It seems logical to support this but I get: BadQueryError: Parse
> > > Error: Invalid WHERE Condition at symbol .email
> >
> > > --
> > > Olex
> >
>

--~--~-~--~~~---~--~~
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: Throwing IO exception while deploying on google app engine

2009-04-15 Thread shiv

This problem is resolved now.
Replace the  lines in the web.xml file by this
 http://java.sun.com/xml/ns/javaee"; version="2.5">
it will works fine.
once u get done with this reply me on s3s...@gmail.com

On Apr 15, 3:33 pm, Mujtaba Hassan  wrote:
> Yes, I am also facing this problem but didn't find solution yet
> -
> 2009-04-15 16:31:26.627::INFO:  Logging to STDERR via
> org.mortbay.log.StdErrLog
> Apr 15, 2009 4:31:28 PM
> com.google.apphosting.utils.config.AbstractConfigXmlReader getTopLevelNode
> SEVERE: Received IOException parsing the input stream for
> d:/tools/server/appengine-java-sdk-1.2.0/demos/helloworld/war\WEB-INF/web.xml
> -
>
> On Wed, Apr 15, 2009 at 2:53 PM, shiv  wrote:
>
> > hi please any one has faced this problem please share your knowledge
> > with me..
> > On Apr 14, 7:21 pm, shiv  wrote:
> > > An internal error occurred during: "Deploying googleSampleProject to
> > > Google".
> > > Received IOException parsing the input stream for C:/Documents and
> > > Settings/shivaraja_s/GoogleWorkspace/googleSampleProject/war\WEB-INF/
> > > web.xml
--~--~-~--~~~---~--~~
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: Using referenced class properties in GQL Query WHERE clause

2009-04-15 Thread olex13

Hmm, didn't get your point

Here:

--
class Thread(db.Model)
  user = dbReferenceProperty(User)
--

User  - name of referenced class
user - field name in Thread class

so I'm trying to navigate on the field property:

Thread.gql("WHERE user.email = :1", email)

PS
well, I checked: Thread.gql("WHERE User.email = :1", email)
raise the same error

On 15 Кві, 14:18, JDT  wrote:
> A naive question: I note that in this snippet you have User(db.model)
> and user.email.
> Is this a python case sensitivity issue? i.e. User != user ?
>
> D
>
> On Apr 14, 6:04 pm,olex13 wrote:
>
> > Hi,
>
> > Is it possible to use referenced-class properties in GQL query, like:
>
> > Thread.gql("WHERE user.email = :1", email)
>
> > class Thread(db.Model)
> >   user = dbReferenceProperty(User)
>
> > class User(db.Model)
> >  email = db.EmailProperty()
>
> > It seems logical to support this but I get: BadQueryError: Parse
> > Error: Invalid WHERE Condition at symbol .email
>
> > --
> > Olex
--~--~-~--~~~---~--~~
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: Using the Date Range recipe with Geohashes to find Bounding Boxes

2009-04-15 Thread JDT

Bump. It surprises me that no-one has any comments on this, based on
the number of other threads discussing geohashes.
In summary there are two issues here. 1. SDK and GAE do different
things; any comments? 2. Does anyone have a robust method for finding
bounding boxes containing a point?

Thanks, and apologies for the bump but this has me stumped.

David

On Apr 12, 6:21 pm, JDT  wrote:
> Hello,
>
> I am trying to use the Date Range Recipe [1] in the App Engine
> Cookbook, to find bounding boxes containing a particular point.
>
> The method used in the recipe allows searching for events occurring on
> particular days by storing the event start and end dates in a list
> (date_range).
>
> This allows the query:
>  ... WHERE date_range >= :1 AND date_range <= :1, date_in_question)
> to work because [2] "In a query, comparing a list property to a value
> performs the test against the list members: ... list_property < value
> tests if any of the members of the list are less than the given value,
> and so forth."
>
> I have taken the same method and used it for geohashes. In my case I
> have many suppliers who deliver to geographical areas. These areas
> overlap and are not exclusive.
> I have stored the delivery areas using a bounding box defined by two
> geohases, one for the NE point and one for the SW point:
>
> delivery_area = [NEhash, SWhash]
>
> When searching, I geohash the search position, then search in the
> list, as in the recipe:
>
> searchpositionhash = geohash.encode
> (searchpositionlat,searchpositionlon)
> sellers_who_deliver = db.GqlQuery("SELECT * FROM Sellers WHERE
> delivery_area <= :1 AND delivery_area >= :1, searchpositionhash )
>
> This works without any problems in the SDK, but no responses are
> returned in the production environment. Understandably it is
> frustrating when the SDK works differently from the production server,
> but my frustration is compounded by my inability to find any posts
> showing similar problems.
>
> Has anyone used lists of geohashes to define bounding boxes, if so
> what was your experience of searching?
> Can anyone see anything wrong with the method I am using?
> Finally, if there is a simpler method of finding bounding boxes,
> matching a point please, please, please, kick me in the right
> direction!
>
> Thanks,
>
> David
>
> [1]http://appengine-cookbook.appspot.com/recipe/how-to-query-by-date-range/
> [2]http://code.google.com/appengine/docs/python/datastore/typesandproper...
--~--~-~--~~~---~--~~
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: Using referenced class properties in GQL Query WHERE clause

2009-04-15 Thread JDT

A naive question: I note that in this snippet you have User(db.model)
and user.email.
Is this a python case sensitivity issue? i.e. User != user ?

D

On Apr 14, 6:04 pm, olex13  wrote:
> Hi,
>
> Is it possible to use referenced-class properties in GQL query, like:
>
> Thread.gql("WHERE user.email = :1", email)
>
> class Thread(db.Model)
>   user = dbReferenceProperty(User)
>
> class User(db.Model)
>  email = db.EmailProperty()
>
> It seems logical to support this but I get: BadQueryError: Parse
> Error: Invalid WHERE Condition at symbol .email
>
> --
> Olex
--~--~-~--~~~---~--~~
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: Cron Schedule Format parsing error

2009-04-15 Thread an0
Dan, It is nice to see quick response and even better, quick reactions.
And I'm really glad to hear that the "every month" shortcut given in the
"premature" doc is indeed going to work; but what about the "everyday"
shortcut?

On Wed, Apr 15, 2009 at 12:44 PM, Dan Sanderson wrote:

> My apologies for the frustration.  I'll get the docs fixed.  (There is a
> pending fix that makes the example work, but it didn't get out in time for
> launch.)
> *hangs head in shame*
>
> -- Dan
>
> On Tue, Apr 14, 2009 at 8:27 PM, an0  wrote:
>
>>  Yes, it is quite verbose, and I am using the long trivial 'day of week'
>> list, too.
>>
>> However, whatsoever, it is not reasonable that the very first example they
>> gave does not work. What a shame to doc writer and what a frustration to the
>> readers, including me:(
>>
>> On Tue, Apr 14, 2009 at 8:18 PM, daly  wrote:
>>
>>>
>>>
>>> I tried and met this error too.
>>> You can solve it by
>>> every mon of month 09:00
>>>
>>> month looks like replacing all months,
>>> but there seems no abbr. for weekdays,
>>> so I have to using
>>> "every mon,tue,wed,thu,fri,sat,sun of month 00:00"
>>> for my target
>>>
>>> hope they can add 'days' or 'day' for replacing the long days string
>>>
>>>
>>>
>>
>>
>> --
>> Hell boy is cool, but let me be healthy boy first.
>>
>>
>>
>>
>
> >
>


-- 
Hell boy is cool, but let me be healthy boy first.

--~--~-~--~~~---~--~~
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: Throwing IO exception while deploying on google app engine

2009-04-15 Thread Mujtaba Hassan
Yes, I am also facing this problem but didn't find solution yet
-
2009-04-15 16:31:26.627::INFO:  Logging to STDERR via
org.mortbay.log.StdErrLog
Apr 15, 2009 4:31:28 PM
com.google.apphosting.utils.config.AbstractConfigXmlReader getTopLevelNode
SEVERE: Received IOException parsing the input stream for
d:/tools/server/appengine-java-sdk-1.2.0/demos/helloworld/war\WEB-INF/web.xml
-



On Wed, Apr 15, 2009 at 2:53 PM, shiv  wrote:

>
>
> hi please any one has faced this problem please share your knowledge
> with me..
> On Apr 14, 7:21 pm, shiv  wrote:
> > An internal error occurred during: "Deploying googleSampleProject to
> > Google".
> > Received IOException parsing the input stream for C:/Documents and
> > Settings/shivaraja_s/GoogleWorkspace/googleSampleProject/war\WEB-INF/
> > web.xml
> >
>

--~--~-~--~~~---~--~~
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: Throwing IO exception while deploying on google app engine

2009-04-15 Thread shiv


hi please any one has faced this problem please share your knowledge
with me..
On Apr 14, 7:21 pm, shiv  wrote:
> An internal error occurred during: "Deploying googleSampleProject to
> Google".
> Received IOException parsing the input stream for C:/Documents and
> Settings/shivaraja_s/GoogleWorkspace/googleSampleProject/war\WEB-INF/
> web.xml
--~--~-~--~~~---~--~~
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: Urlfetch Application errors

2009-04-15 Thread Sylvain

FETCH_ERROR  =2

It's not very clear what does it means but maybe if you check the code
you can have a better explanation.
But, I've ever seen this and most of the time it is raised by a
timeout, server down,...

Regards

from urlfetch_service_pb.py

class URLFetchServiceError(ProtocolBuffer.ProtocolMessage):

  OK   =0
  INVALID_URL  =1
  FETCH_ERROR  =2
  UNSPECIFIED_ERROR =3
  RESPONSE_TOO_LARGE =4
  DEADLINE_EXCEEDED =5

  _ErrorCode_NAMES = {
0: "OK",
1: "INVALID_URL",
2: "FETCH_ERROR",
3: "UNSPECIFIED_ERROR",
4: "RESPONSE_TOO_LARGE",
5: "DEADLINE_EXCEEDED",
  }

On 15 avr, 07:43, 风笑雪  wrote:
> I haven't meet this error, but you can handle it:
> try:
>   result = urlfetch.fetch(url)
> except:
>   ...
>
> 2009/4/15 Wiiboy 
>
>
>
> > Hi,
> > I'm trying to contact a website using the Python urlfetch api.  Using
> > urlfetch.fetch is giving me ApplicationError:2
>
> > What is ApplicationError 2?
--~--~-~--~~~---~--~~
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: Severe scalability problems - getting http server 500 error under heavy load.

2009-04-15 Thread Barry Hunter

One thing that has become apprent is appengine, is designed to scale
under real world usage.

So if your App went from 0/1 users to 500 in a matter of seconds, then
the system wont work well. You need to ramp up the usage slowly.

Even a slashdotting would result in a 'ramp' usage.

Also 500 users coming from once source, might be a bit suspicios, and
appengine could be weary of a DOS attack.




On 15/04/2009, Anonymous Coderrr  wrote:
>
>  I have a fairly simple app - it looks up a couple of objects from the
>  google datastore and then creates a page from django template - pure
>  vanilla.
>
>  I wanted to see how my app would perform under heavy load, so I set up
>  a simulation where 500 virtual web-browsers would attempt to request
>  my page twice - exactly at the same time.
>
>
>  The results were dismal!!  Nearly 50% of the requests resulted in a
>  "HTTP response code: 500" from GAE - not my application, but
>  apparently GAE itself.
>
>  I check my dashboard logs - no errors from my application.  No errors
>  anywhere I could find.
>
>  What can I do?  I'm not expecting 500 requests per second, but
>  certainly maybe 100.  The best rate I can get according to the
>  dashboard is about 4.5 requests per second.  The dev server running on
>  my laptop does better than that!!!
>
>  Thanks
>  >
>


-- 
Barry

- www.nearby.org.uk - www.geograph.org.uk -

--~--~-~--~~~---~--~~
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: Announcing new Google App Engine SDK installable Live CD appliance

2009-04-15 Thread 风笑雪
Good job!
Can it run in a flash memory?

2009/4/14 Liraz 

>
> Hi everyone,
>
> I'm one of the developers for TurnKey Linux, a community oriented open
> source project developing a family of free, Ubuntu-based installable
> Live CDs which are lightweight and optimized for ease of use in server-
> type usage scenarios (e.g., LAMP, Joomla CMS, Drupal, Ruby on Rails):
>
> http://www.turnkeylinux.org/appliances
>
> We're proud to announce the release of a new installable Live CD
> appliance which bundles Google App Engine SDK as a turn-key server
> image that can run on real hardware in addition to most types of
> virtual machines (e.g., VMWare, VirtualBox, Parallels, Xen HVM). It is
> designed to provide users with a pre-integrated, auto-updating, turn-
> key operating system environment that is carefully built from the
> ground up with the minimum components needed to run Google App Engine
> SDK in a with minimum hassle.
>
> Basically this is an extremely easy way to get up and running with
> Google App Engine SDK in just a few minutes.
>
> Feature highlights:
>
> * Auto-updated daily with latest security patches
> * SSL support out of the box
> * Elegant Web administration interface (Mac OS X themed)
> * Minimal footprint (120MB)
>
> Full details: http://www.turnkeylinux.org/appliances/appengine
>
> BTW, this type of pre-integrated, ready-to-use system is typically
> called a software appliance:
>
> http://en.wikipedia.org/wiki/Software_appliance
>
> Take a look and tell us what you think!
>
> >
>

--~--~-~--~~~---~--~~
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: Announcing new Google App Engine SDK installable Live CD appliance

2009-04-15 Thread David Symonds

On Tue, Apr 14, 2009 at 5:40 AM, Liraz  wrote:

> I'm one of the developers for TurnKey Linux, a community oriented open
> source project developing a family of free, Ubuntu-based installable
> Live CDs which are lightweight and optimized for ease of use in server-
> type usage scenarios (e.g., LAMP, Joomla CMS, Drupal, Ruby on Rails):

You do realise that the SDK is *not* designed for use in "server-type
usage scenarios"? It's purely for testing, and has no real security or
scalability.


Dave.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



  1   2   >