[google-appengine] Re: App did not scale as expected?
Just wanted to confirm that this issue went away, and is working great now! I did make some changes, but not any change which would seem to affect scalability. Only major change was that a big percentage of my calls was raising an exception that was logged as an error, and I fixed that. The important thing is that it works now. There is no doubt I will be using App Engine instead of PHP running on my own servers from now on. Already I can see that the better response times are leading to a lot more visits to my MySpace app. -Bemmu On Mar 10, 4:36 am, Brett Slatkin brett-appeng...@google.com wrote: Hi there, On Mon, Mar 9, 2009 at 5:06 PM, Bemmu bemmu@gmail.com wrote: First of all, thanks for the great development environment. It has been a pleasure to use it. Thanks! I was testing my app when no-one else was still using it, and was getting response times of 0.5 - 3 seconds. My app calls MySpace over REST and then fetches about 100 datastore objects on each call, so AFAIK it is mostly waiting for MySpace to respond. Then I released it to the public, and started getting 72 requests / second, which is what I expected because the app is visible in a lot of peoples' profile boxes on MySpace. What I didn't expect was that the response times from App Engine suddenly went to over 10 seconds, causing MySpace to consider it a timeout. Has the performance improved here? Looks like it has to me, but I want to be sure. Isn't App Engine supposed to allocate enough resources automatically to scale my app? I repeated the test, unreleasing and re-releasing the app and it clearly affects the response times. Part of this has to do with the way we scale out your application in response to demand. Our system is optimized to handle natural traffic patterns. When you go from zero to 72 requests per second in the span of a couple minutes you are likely seeing additional latency as your application gets distributed to multiple instances. The best way to load test on App Engine is to slowly increase the load from zero to some percentage of your target qps over the span of 15-20 minutes, followed by the full brunt of the load after that. One of our teammates explains this idea in a talk he gave at Google I/O. http://sites.google.com/site/io/best-practices---building-a-productio... We're going to add this information to our FAQ (and maybe and article) so people won't hit this issue in the future. Is there anything else we could have done to make this more understandable? One other thing: if you realize that you need to throw even more load at us that you already have, please read this documentation about our quota burst limits:http://code.google.com/appengine/kb/billing.html#cpu By filling out the linked form we can help you accommodate more load than our billing system automatically allows for at the present time. -Brett --~--~-~--~~~---~--~~ 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: Application instances seem to be too aggressively recycled
I'm seeing the same behaviour but I do not use Django (Werkzeug + Jinja2). While this combo seems lighter (in terms of CPU usage), my app becomes cold each 2-3 seconds and request takes 1200ms CPU to be served, with Jinja2 Environment creation taking most of CPU resources. I tried to optimize this process by caching what can be cached but got little to none improvement as not much can be cached here (only loader and templates). On 10 Mar, 18:22, Jason C jason.a.coll...@gmail.com wrote: We have a new application that receives _very_ little load. So little, in fact, that each request spins up a new application instance. We are using Django trunk and the import overhead is high. All of this yields a long request (e.g., 8802ms) using a lot of CPU (e.g., 3247ms-cpu). With very little load, it makes sense that instances are recycled. On that assumption, we've started applying some primer load against a couple of uris in an attempt to keep some instances hot. We're applying around 1 request/second across 2 uris. When we hit a hot instance, we get blazing speed (e.g., url_1: 73ms 91ms-cpu, url_2: 368ms 615ms-cpu - these values are pulled from the App Engine console Logs tool and I'm not completely sure if this represents Runtime, or combined Runtime/API - I believe the latter). Under this 1 request/second load, we are still seeing lots of instance startup - even after 40-50 minutes of sustained load. Subjectively, the instance startups seem to come in bursts, though we've done no formal analysis around this. Does anyone else see this behavior? It _really_ kills our application performance - so much so, that we're considering moving away from Django in an effort to minimize the start-up pain. Any info or war stories would be appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-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: Application instances seem to be too aggressively recycled
I went back to my logs..I was ignoring a certain request previously, so that's why I was missing my 'cold starts'! For some reason, one of my particular requests seems to get all my cold starts. However, the request and cpu times I'm seeing for these cold starts are quite different from what Jason is reporting. Typically they range from 1000-1600ms and 1900-2100 ms-cpu. On Mar 11, 8:13 am, Jarek Zgoda jarek.zg...@gmail.com wrote: I'm seeing the same behaviour but I do not use Django (Werkzeug + Jinja2). While this combo seems lighter (in terms of CPU usage), my app becomes cold each 2-3 seconds and request takes 1200ms CPU to be served, with Jinja2 Environment creation taking most of CPU resources. I tried to optimize this process by caching what can be cached but got little to none improvement as not much can be cached here (only loader and templates). On 10 Mar, 18:22, Jason C jason.a.coll...@gmail.com wrote: We have a new application that receives _very_ little load. So little, in fact, that each request spins up a new application instance. We are using Django trunk and the import overhead is high. All of this yields a long request (e.g., 8802ms) using a lot of CPU (e.g., 3247ms-cpu). With very little load, it makes sense that instances are recycled. On that assumption, we've started applying some primer load against a couple of uris in an attempt to keep some instances hot. We're applying around 1 request/second across 2 uris. When we hit a hot instance, we get blazing speed (e.g., url_1: 73ms 91ms-cpu, url_2: 368ms 615ms-cpu - these values are pulled from the App Engine console Logs tool and I'm not completely sure if this represents Runtime, or combined Runtime/API - I believe the latter). Under this 1 request/second load, we are still seeing lots of instance startup - even after 40-50 minutes of sustained load. Subjectively, the instance startups seem to come in bursts, though we've done no formal analysis around this. Does anyone else see this behavior? It _really_ kills our application performance - so much so, that we're considering moving away from Django in an effort to minimize the start-up pain. Any info or war stories would be appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-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] Stored Data figure suddenly way higher than Data Viewer suggests
Hi, I'm still testing my app, so it only has a small amount of test data in it right now (maybe 200 small entities max). I hadn't paid much attention to the Stored Data figure on the dashboard page until now since today for the first time it looks like I actually owe money (1 cent, but hey it's something :). I'd guess the actual size of the data I have is under 1 MB, but the dashboard page says I'm using 2GB! The actual figure is 2.01 GB, which curiously is 1% of the 201 GB max. I have seven extra indexes and I did have more data in the datastore before, but deleted that at least a week ago. Still, I don't expect this could account for such a huge difference? Anyone else seeing similar behaviour? 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] Re: Application instances seem to be too aggressively recycled
I can also confirm this behavior with my app, recycling takes place after about 2 seconds of inactivity. I also guess, that this recycling timeout had to be lowered by GAE team during last week, because I had running and working application on appspot. I did no updates to it and the app did break because of this change. On Mar 10, 6:22 pm, Jason C jason.a.coll...@gmail.com wrote: We have a new application that receives _very_ little load. So little, in fact, that each request spins up a new application instance. We are using Django trunk and the import overhead is high. All of this yields a long request (e.g., 8802ms) using a lot of CPU (e.g., 3247ms-cpu). With very little load, it makes sense that instances are recycled. On that assumption, we've started applying some primer load against a couple of uris in an attempt to keep some instances hot. We're applying around 1 request/second across 2 uris. When we hit a hot instance, we get blazing speed (e.g., url_1: 73ms 91ms-cpu, url_2: 368ms 615ms-cpu - these values are pulled from the App Engine console Logs tool and I'm not completely sure if this represents Runtime, or combined Runtime/API - I believe the latter). Under this 1 request/second load, we are still seeing lots of instance startup - even after 40-50 minutes of sustained load. Subjectively, the instance startups seem to come in bursts, though we've done no formal analysis around this. Does anyone else see this behavior? It _really_ kills our application performance - so much so, that we're considering moving away from Django in an effort to minimize the start-up pain. Any info or war stories would be appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] problem with import django
Hi, While making google's tutorial (google-app-engine-django), I had exactly the same problem as mentioned here : http://groups.google.fr/group/google-appengine/browse_thread/thread/7b2445428b8115c2#. I create a new post to make my pb visible. It is an importing django error. The warning I got is : [WARNING:root:Blocking access to skipped file /Users/brouard/ mysite/.google_appengine/lib/django/django/foo] The problem comes from the . in the path : /.google_appengine/ that causes the no module named Django error. I have the 1.1.9 version of appengine. The SDK folder (google_appengine) is already in /usr/local. But I don't understand what Brett said in the forum : The fix should be not use the Django helper's little trick of keeping your SDK in .google_appengine but instead actually install it, or at least keep it outside of your app directory. That should prevent the skipped file blocking from interfering with your imports. How can I fix this pb? (I am kind of newb) Thx Arbi --~--~-~--~~~---~--~~ 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] A question for Jaiku's developers, if they're watching..
I just read on your blog (from January) the intention to release the appengine port of Jaiku as open source when the port is finished..but I was wondering if I could be so cheeky as to jump ahead with a couple of questions about it. The requirements of Jaiku seem to line up roughly similarly with issues I'm having in a slightly different context, that I'm finding pretty challenging to implement efficiently on app engine. With your service, you seem to track updates for friends and other people I follow..so I might have a long list of people I'm following, and you feed me their updates. How do you implement this on GAE? I've been toying with a very similar problem for some time now. It seems to me you cannot chain together queries such as me.friends.updates.order(..) to get your friends' latest updates, for example. You can't make n writes to n update queues for n people following you, since writes are so costly. If I store my friends in a list of keys, this limits the number of friends I can query at a given time to 30. e.g. updates.all().filter('user IN', me.friends) is limited to 30 subqueries. I may have many more friends, so this approach doesn't seem to be sufficient. I've been scratching my head over a similar problem for some time now, coming up with various hairbrained schemes that have been overly- complex, none of which deliver scalability to the nth degree. So I'd really, really, really appreciate any insight you could provide in implementing this kind of data model on GAE!! 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] how to use google Analytics
in order to use google Analytics,the tracking code should be include into every page?i 've inserted the code, but it does't, could u mater tell me how to do it correctly? --~--~-~--~~~---~--~~ 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: iterate thru 2 stringlistproperties in template
Perfect! Thanks Andi, this has really helped me refactor my code away from a complete kludge into something almost workable. its amazing how much i've been trying to code round my lack of knowledge of python (the project i'm working on is primarily a python/ django/gae learning excercise) Thanks again On Mar 9, 1:24 pm, Andi Albrecht albrecht.a...@googlemail.com wrote: I would zip() both lists on the Python side and iterate over that zipped lists in the template, e.g. # Python side newval = zip(stringlist1, stringlist2) # Template {%for item in newval%} {{item.0}} and {{item.1}} {%endfor%} Regards, Andi On Mon, Mar 9, 2009 at 2:19 PM,sageysage...@gmail.com wrote: Hello, please forgive the beginners question. I have a model with 2 string list properties. How do i iterate through each list in the template at the same time. What i mean is, say i wanted to output stringlist1value1 and stringlist2value1 stringlist1value2 and string list2value2 stringlist1value3 and string list2value3 etc etc how would i do this? if i were doing this in python code i would maybe increment a loopcount in a for loop but i don't believe i can do this using django template syntax.- 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: A question for Jaiku's developers, if they're watching..
you'd have to wonder if there's a push out to Gnip somewhere ... or if protocol buffers are involved .. Thanks- - Andy Badera - and...@badera.us - (518) 641-1280 - Tech Valley Code Camp 2009.1: http://www.techvalleycodecamp.com/ - Google me: http://www.google.com/search?q=andrew+badera On Wed, Mar 11, 2009 at 9:21 AM, peterk peter.ke...@gmail.com wrote: I just read on your blog (from January) the intention to release the appengine port of Jaiku as open source when the port is finished..but I was wondering if I could be so cheeky as to jump ahead with a couple of questions about it. The requirements of Jaiku seem to line up roughly similarly with issues I'm having in a slightly different context, that I'm finding pretty challenging to implement efficiently on app engine. With your service, you seem to track updates for friends and other people I follow..so I might have a long list of people I'm following, and you feed me their updates. How do you implement this on GAE? I've been toying with a very similar problem for some time now. It seems to me you cannot chain together queries such as me.friends.updates.order(..) to get your friends' latest updates, for example. You can't make n writes to n update queues for n people following you, since writes are so costly. If I store my friends in a list of keys, this limits the number of friends I can query at a given time to 30. e.g. updates.all().filter('user IN', me.friends) is limited to 30 subqueries. I may have many more friends, so this approach doesn't seem to be sufficient. I've been scratching my head over a similar problem for some time now, coming up with various hairbrained schemes that have been overly- complex, none of which deliver scalability to the nth degree. So I'd really, really, really appreciate any insight you could provide in implementing this kind of data model on GAE!! 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: Google AdSense on App Engine
I posted a feature request on this...it would be nice to have adsense feed directly into app engine fees, so it can all just run itself without you bothering with it. Then even a third-world kid with an OLPC could build a big site. If the adsense revenues fall short, respond to any excess hits with a donation page. For the kinds of sites that people feel charitable towards, this could work nicely. -d On Mon, Mar 9, 2009 at 12:40 PM, Ryan Lamansky spam...@kardax.com wrote: Yes. If you direct both AdSesnse and App Engine to the same bank account, it will pay for itself if your advertising income covers your resource usage fees. -Ryan On Mar 8, 12:11 pm, Let Delete My Apps davide.rogn...@gmail.com wrote: Idea: Can I put AdSense on my app to receive additional computing resources, instead to receive money? I saw:http://www.google.com/services/adsense_tour/index.html --~--~-~--~~~---~--~~ 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] My own domain
I'm having all sorts of problems adding my own domain name to AppEngine. I've already signed up to Google Apps and utilise their email, docs etc. I logged into AppEngine and went Versions Add Domain and entered my domain. It duly appeared in my Google Apps dashboard. When I click on it and Add new URL I can add something like info (http:// info.example.com) but am unable to enter www (http:// www.example.com/). It goes through the motions but then doesn't appear on my list. and the DNS is all set up correctly in Network Solutions if it try to browse to www all I get is: The site you have requested could not be found. (404) Am I missing something completely obvious? thx --~--~-~--~~~---~--~~ 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: A question for Jaiku's developers, if they're watching..
Hmm. Good thinking Andrew. I've done a bit more digging along those lines..I don't think Jaiku has publically said if and what messaging protocols they might use, but there seems to be some speculation that it uses XMPP. That might also neatly align with their comment that they are in some cases extending GAE in their port..and the recent news that XMPP is scheduled to come to GAE at some point in the next 6 months. Perhaps it's the work on the Jaiku port that's bringing that functionality... I didn't know anything about messaging protocols or XMPP until I dug around after your post, so it's all new to me. I found a project purporting to provide XMPP functionality in advance of Google's official support, at http://imified-demo.appspot.com/, but looking at the code for it, I cannot for the life of me see how this could be used to address the problems discussed in my original email. That project seems only to take instant messages via a POST to a URL and save them to the datastore..but there doesn't seem to be any of the 'instant distribution' of updates to people subscribed to your presence etc. that other XMPP software boast about. Using that xmpp project linked, there doesn't seem to be anything there about pushing updates to subscribed users etc. I dug around the app gallery for other open source apps along similar lines..there are some would-be twitter/jaiku clones..all I've seen use non-messaging approaches, but they all make one compromise or another similar to solutions I'd come up with myself (e.g. taking the last 5 updates from friends and sorting them yourself in memory by date..which has its own issues, for example, if one user had made 5 updates recently..+ you'd inevitably hit a roadblock on all these reads beyond a certain number of friends..there's only so many friends you could do this for before it gets too slow). Any thoughts/ideas...? On Mar 11, 1:54 pm, Andrew Badera and...@badera.us wrote: you'd have to wonder if there's a push out to Gnip somewhere ... or if protocol buffers are involved .. Thanks- - Andy Badera - and...@badera.us - (518) 641-1280 - Tech Valley Code Camp 2009.1:http://www.techvalleycodecamp.com/ - Google me:http://www.google.com/search?q=andrew+badera On Wed, Mar 11, 2009 at 9:21 AM, peterk peter.ke...@gmail.com wrote: I just read on your blog (from January) the intention to release the appengine port of Jaiku as open source when the port is finished..but I was wondering if I could be so cheeky as to jump ahead with a couple of questions about it. The requirements of Jaiku seem to line up roughly similarly with issues I'm having in a slightly different context, that I'm finding pretty challenging to implement efficiently on app engine. With your service, you seem to track updates for friends and other people I follow..so I might have a long list of people I'm following, and you feed me their updates. How do you implement this on GAE? I've been toying with a very similar problem for some time now. It seems to me you cannot chain together queries such as me.friends.updates.order(..) to get your friends' latest updates, for example. You can't make n writes to n update queues for n people following you, since writes are so costly. If I store my friends in a list of keys, this limits the number of friends I can query at a given time to 30. e.g. updates.all().filter('user IN', me.friends) is limited to 30 subqueries. I may have many more friends, so this approach doesn't seem to be sufficient. I've been scratching my head over a similar problem for some time now, coming up with various hairbrained schemes that have been overly- complex, none of which deliver scalability to the nth degree. So I'd really, really, really appreciate any insight you could provide in implementing this kind of data model on GAE!! 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] Google App Engine and Google Maps
I am trying to geocode an address server side using the app engine. I am using the fetch() function to do this against the google maps servers. This worked fine on the development server, but now that I have deployed my app, I am getting 620 errors from Google Maps. My key is set correctly as well for the appspot address. Any help would be greatly appreciated. DB --~--~-~--~~~---~--~~ 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: DownloadError: ApplicationError: 5 Using GData Provisioning API
David, I'm receiving the same error and similar results albeit with a different API. This happens when I try to create a new empty (not uploaded) spreadsheet. The spreadsheet shows up, but I still get ApplicationError:5. Until I can find the solution, I've chosen to just catch the exception and work around it. On my dev engine I receive a slightly different exception, ApplicationError:2 timeout. This happens on the request to google. Again, in dev even though I get the error the spreadsheet is created. The details of the request are listed below. The request looks to be in line with the API sample code at http://groups.google.com/group/Google-Docs-Data-APIs/browse_frm/thread/26d983bfda97d1fe and http://code.google.com/apis/documents/docs/2.0/developers_guide_protocol.html#UploadingMetadata. I'll keep looking and will let you know if I find anything out. Scott operation str: POST url Url: http://docs.google.com/feeds/documents/private/full headers dict: {'Content-Length': '254', 'Content-Type': 'application/ atom+xml', 'User-Agent': 'None GData-Python/1.2.2'} dataGDataEntry: ?xml version='1.0' encoding='UTF-8'? ns0:entry xmlns:ns0=http://www.w3.org/2005/Atom; ns0:category scheme=http://schemas.google.com/g/2005#kind; term=http://schemas.google.com/docs/2007#spreadsheet; / ns0:titleNoNameSheet/ns0:title /ns0:entry From the error log: File /base/data/home/apps/mamooproject/1.331984609576213456/gdata/ service.py, line 1147, in Post media_source=media_source, converter=converter) File /base/data/home/apps/mamooproject/1.331984609576213456/gdata/ service.py, line 1232, in PostOrPut headers=extra_headers) File /base/data/home/apps/mamooproject/1.331984609576213456/atom/ service.py, line 176, in request data=data, headers=all_headers) File /base/data/home/apps/mamooproject/1.331984609576213456/gdata/ auth.py, line 704, in perform_request return http_client.request(operation, url, data=data, headers=headers) File /base/data/home/apps/mamooproject/1.331984609576213456/gdata/ alt/appengine.py, line 144, in request method=method, headers=all_headers, follow_redirects=False)) File /base/python_lib/versions/1/google/appengine/api/urlfetch.py, line 273, in fetch raise DownloadError(str(e)) DownloadError: ApplicationError: 5 On Mar 9, 7:03 pm, David Cifuentes david.cifuen...@eforcers.com wrote: Hello, I'm getting this error when I'm using the GData Provisioning API to create user accounts from GAE. The weird thing is that it works well on the development environment and even in the production server the ... --~--~-~--~~~---~--~~ 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] Whats the max size that GAE allows to upload.
Whats the max file size for an object that needs to be stored on GAE. I am trying to upload a simple wav file and its around 3mb and its not uploading at all. Any help is greatly apprecaited. Regards Hareem Ul Haque --~--~-~--~~~---~--~~ 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] Server Error A server error has occurred.
Situation: trying to delete a bunch (100,000) entries in a table. Can't find drop table so the best that I've been able to come up with is deleting all of the entries. My app is apparently running fine - hard to tell with almost all the data gone. But the data viewer is not happy. It gives me the server error message when I try to delete the remaining entries it's showing me. It gives me the error message if I try to go past the first screen. And so on. Given a choice between alter table and delete table, I'll take delete table. Let me copy from table1 to table2 and then delete table1. In this case, if I'd had alter table, I wouldn't have needed delete table. Any suggestions on how to get GAE to tidy itself up? 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] Searching in GeoPt
Morning Group, Hope everyone's all good? Got a dev. problem driving me nuts and I can't figure out or find a simple solution throughout the posts. We're saving Lat/Lng in a GeoPt datatype. We then need to search within all those GeoPts for the nearest within a radius/square (range) eg, search?lat=2lng=5range=5metres What's the easiet way of sorting this? The bounding box method seems overly complex and crazy, are we just hoping for a simple solution to quite a complex solution? WHERE GEOPT NEAR (LAT=2, LNG=2) Any clues? Thanks, DanC --~--~-~--~~~---~--~~ 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 about memcache flush_all() performance
If my app has a lot of data in memcache, and calls flush_all() now, what about the performance of this function call? I'm not sure how the memcache backend is implemented. --~--~-~--~~~---~--~~ 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 made to exclude dirs/files?
Just starting to look at GAE so I'm not certain that this is even an issue. Does appcfg.py only upload certain files, and if not, can it be told to exclude certain files and dirs in your app? For example, say I want to exclude .hg or .bzr or .svn directories. Thanks, Jon --~--~-~--~~~---~--~~ 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: Expected Database Performance with Millions of Rows?
Ahh, thanks Ryan..that makes sense. So for lenza...you need to try and squeeze your itemBs construction into one RPC call..so..something like this might do the trick: def myQuery(): query = A.all().filter('intProperty', val).filter('date =', date) itemAs = [itemA for itemA in query] itemBkeys = [A.typeB.get_value_for_datastore(itemA) for itemA in itemAs] itemBs = db.get(itemBkeys) return itemBs I haven't tested it, but I think that should boil down itemBs' construction from n RPC calls to 1, which should bring it more in line with the cost of itemA's construction. On Mar 11, 12:02 am, ryan ryanb+appeng...@google.com wrote: On Mar 10, 4:38 pm, peterk peter.ke...@gmail.com wrote: Sorry if some redundant points are being raised here.. my lingering question in light of your post is regarding the variation in performance between itemAs' construction and itemBs' if both boil down to the same read behaviour on the datastore. To walk through lenza's code: sorry, you're right. i misread the original code snippets. let me try again. query = A.all().filter('intProperty', val).filter('date =', date) # no reads at this point (?) correct. itemAs = [itemA for itemA in query] # n disk seeks and reads where n = number of itemAs matching query (?) roughly, yes. it's actually around n + n/20. itemBs = [itemA.typeB for itemA in itemAs] # n disk seeks and reads for n automatic dereferencing of itemA.typeB accesses (?) correct. I'm guessing it's not that simple given the variation in performance between line 2 and line 3 reported by lenza. I'm gonna dig into your links tomorrow, so if an answer is in there, don't mind me! :) the difference in performance is probably due to the RPC overhead between the app and the datastore. the query only takes n/20 RPCs, one for each result batch. the itemBs list comprehension takes n RPCs, since it does a get() for each itemA.typeB. (that's due to the list comprehension itself, which is in the app's code, so we can't collapse those RPCs because we don't know they're coming ahead of time.) --~--~-~--~~~---~--~~ 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: MemCache/datastore failing
Hi, This should now be fixed. Please let us know if you continue to see this issue. -Marzia On Fri, Feb 27, 2009 at 12:05 PM, bradfitz b...@danga.com wrote: DarkCoiote, I've fixed the memcache server bug. It was an obscure case that could happen when a delete-locked (delete with expiration time) item being at the tail of the namespace LRU chain. In other words, totally not related to your code at all... this should've worked. Thanks for the bug report! I'm rolling up a new package of the memcacheg server now and then the App Engine folks can deploy it whenever works best for them. - Brad On Feb 19, 4:56 am, DarkCoiote darkcoi...@gmail.com wrote: Hi, somehow my app. can't use memcache anymore (it was working fine a week ago). For instance, I clear the cache (memcache.flush_all()), use the app (almost every operation uses caching) and then call the cache stats page (stats = memcache.get_stats()) but the stats variable gets consistently 'none' value. As a result, latency has increased a lot making responses exceed the 10sec. timeout (maybe other bug here, as now it should be 30s right? although the timeout can be from the 'gadgets.io.makeRequest' from the opensocial part of the app.) The traceback of the problem I got with the datastore: An error occurred for the API request datastore_v3.RunQuery(). Traceback (most recent call last): File /base/python_lib/versions/1/google/appengine/ext/webapp/ __init__.py, line 503, in __call__ handler.post(*groups) File /base/data/home/apps/date-review/2.331374829726725911/ main.py, line 371, in post avgRating = get_avg_rating(friend) File /base/data/home/apps/date-review/2.331374829726725911/ main.py, line 95, in get_avg_rating ratings = query.get() File /base/python_lib/versions/1/google/appengine/ext/db/ __init__.py, line 1346, in get results = self.fetch(1) File /base/python_lib/versions/1/google/appengine/ext/db/ __init__.py, line 1390, in fetch raw = self._get_query().Get(limit, offset) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 942, in Get return self._Run(limit, offset)._Next(limit) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 883, in _Run apiproxy_stub_map.MakeSyncCall('datastore_v3', 'RunQuery', pb, result) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 68, in MakeSyncCall apiproxy.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 240, in MakeSyncCall stub.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/runtime/ apiproxy.py, line 183, in MakeSyncCall rpc.CheckSuccess() File /base/python_lib/versions/1/google/appengine/api/ apiproxy_rpc.py, line 111, in CheckSuccess raise self.exception Error: An error occurred for the API request datastore_v3.RunQuery(). Some times I get this kind of traceback, which I'm sure is the deadline problem: class 'google.appengine.runtime.DeadlineExceededError': Traceback (most recent call last): File /base/data/home/apps/date-review/2.331374829726725911/ main.py, line 620, in main run_wsgi_app(application) File /base/python_lib/versions/1/google/appengine/ext/webapp/ util.py, line 76, in run_wsgi_app result = application(env, _start_response) File /base/python_lib/versions/1/google/appengine/ext/webapp/ __init__.py, line 503, in __call__ handler.post(*groups) File /base/data/home/apps/date-review/2.331374829726725911/ main.py, line 372, in post numVisit = get_num_visits(friend) File /base/data/home/apps/date-review/2.331374829726725911/ main.py, line 487, in get_num_visits delete_old_visits(owner) File /base/data/home/apps/date-review/2.331374829726725911/ main.py, line 492, in delete_old_visits results = query.fetch(1000) File /base/python_lib/versions/1/google/appengine/ext/db/ __init__.py, line 1390, in fetch raw = self._get_query().Get(limit, offset) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 942, in Get return self._Run(limit, offset)._Next(limit) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 1536, in _Next apiproxy_stub_map.MakeSyncCall('datastore_v3', 'Next', req, result) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 68, in MakeSyncCall apiproxy.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 240, in MakeSyncCall stub.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/runtime/ apiproxy.py, line 182, in MakeSyncCall rpc.Wait() File
[google-appengine] Re: what about memcache flush_all() performance
On Wed, Mar 11, 2009 at 8:39 AM, Chris chris1...@gmail.com wrote: If my app has a lot of data in memcache, and calls flush_all() now, what about the performance of this function call? I'm not sure how the memcache backend is implemented. Like all memcache calls, flush is O(1). Everything is done lazily. So there is no overhead. --~--~-~--~~~---~--~~ 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: Application instances seem to be too aggressively recycled
I've been tracking (and seeing) this for a while already. Besides the latency that occurs each time Django gets re-zipimported, what is concerning is the thought of paying for CPUs to constantly reload the cache. My app's not live yet - so there is some time before this becomes a $$$ problem for me, but... I remain forever hopeful that it will be solved by then. :) On Mar 11, 4:26 am, Antonin Hildebrand antonin.hildebr...@gmail.com wrote: I can also confirm this behavior with my app, recycling takes place after about 2 seconds of inactivity. I also guess, that this recycling timeout had to be lowered by GAE team during last week, because I had running and working application on appspot. I did no updates to it and the app did break because of this change. On Mar 10, 6:22 pm, Jason C jason.a.coll...@gmail.com wrote: We have a new application that receives _very_ little load. So little, in fact, that each request spins up a new application instance. We are using Django trunk and the import overhead is high. All of this yields a long request (e.g., 8802ms) using a lot of CPU (e.g., 3247ms-cpu). With very little load, it makes sense that instances are recycled. On that assumption, we've started applying some primer load against a couple of uris in an attempt to keep some instances hot. We're applying around 1 request/second across 2 uris. When we hit a hot instance, we get blazing speed (e.g., url_1: 73ms 91ms-cpu, url_2: 368ms 615ms-cpu - these values are pulled from the App Engine console Logs tool and I'm not completely sure if this represents Runtime, or combined Runtime/API - I believe the latter). Under this 1 request/second load, we are still seeing lots of instance startup - even after 40-50 minutes of sustained load. Subjectively, the instance startups seem to come in bursts, though we've done no formal analysis around this. Does anyone else see this behavior? It _really_ kills our application performance - so much so, that we're considering moving away from Django in an effort to minimize the start-up pain. Any info or war stories would be appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-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] Web Server Startup problem
Hey guys anyone having similar problem? Everything is ok, I start the server through dev_appserver and it starts showing this : programmerfish.com/screenshot.jpg Even though the server is running at localhost:8080 but when i try to access it, it displays 404 error. Browser settings are ok and I have also tried to reset the path of datastore but stilll doesnt work. --~--~-~--~~~---~--~~ 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] garutilities Session objects in Django app
Hi So I was reading the session utility at http://code.google.com/p/gaeutilities/wiki/Session. I am using Django instead of web.py. The sample shows code: self.session = Session() In django, we dont get an object, rather a method is called, how can I store the session object similar to self.session. --~--~-~--~~~---~--~~ 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: Application instances seem to be too aggressively recycled
Hmm. Never thought about that aspect; I was only concerned with the response performance. Perhaps the AdWords profit maximization heuristic has been applied to the instance recycling algorithm? ;) On Mar 11, 10:28 am, johnP j...@thinkwave.com wrote: I've been tracking (and seeing) this for a while already. Besides the latency that occurs each time Django gets re-zipimported, what is concerning is the thought of paying for CPUs to constantly reload the cache. My app's not live yet - so there is some time before this becomes a $$$ problem for me, but... I remain forever hopeful that it will be solved by then. :) On Mar 11, 4:26 am, Antonin Hildebrand antonin.hildebr...@gmail.com wrote: I can also confirm this behavior with my app, recycling takes place after about 2 seconds of inactivity. I also guess, that this recycling timeout had to be lowered by GAE team during last week, because I had running and working application on appspot. I did no updates to it and the app did break because of this change. On Mar 10, 6:22 pm, Jason C jason.a.coll...@gmail.com wrote: We have a new application that receives _very_ little load. So little, in fact, that each request spins up a new application instance. We are using Django trunk and the import overhead is high. All of this yields a long request (e.g., 8802ms) using a lot of CPU (e.g., 3247ms-cpu). With very little load, it makes sense that instances are recycled. On that assumption, we've started applying some primer load against a couple of uris in an attempt to keep some instances hot. We're applying around 1 request/second across 2 uris. When we hit a hot instance, we get blazing speed (e.g., url_1: 73ms 91ms-cpu, url_2: 368ms 615ms-cpu - these values are pulled from the App Engine console Logs tool and I'm not completely sure if this represents Runtime, or combined Runtime/API - I believe the latter). Under this 1 request/second load, we are still seeing lots of instance startup - even after 40-50 minutes of sustained load. Subjectively, the instance startups seem to come in bursts, though we've done no formal analysis around this. Does anyone else see this behavior? It _really_ kills our application performance - so much so, that we're considering moving away from Django in an effort to minimize the start-up pain. Any info or war stories would be appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-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: App did not scale as expected?
On Wed, Mar 11, 2009 at 12:47 AM, Bemmu bemmu@gmail.com wrote: Just wanted to confirm that this issue went away, and is working great now! I did make some changes, but not any change which would seem to affect scalability. Only major change was that a big percentage of my calls was raising an exception that was logged as an error, and I fixed that. The important thing is that it works now. There is no doubt I will be using App Engine instead of PHP running on my own servers from now on. Already I can see that the better response times are leading to a lot more visits to my MySpace app. That's great news! --~--~-~--~~~---~--~~ 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: garutilities Session objects in Django app
Hi, gaeutilities includes a session middleware Just add it in your settings.py For example, for one app I have MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'common.appengine_utilities.django- middleware.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', ) Note, this only verified with appengine-patch, and not the django0.96 bundled with appengine. Not saying it doesn't work, just saying I've never tried it. Also, the middleware takes advantage of the new session cookie writer. This is a large performance improvement by storing all session data in cookies for anonymous requests. In order to switch to the datastore backed solution for your logged in users, you'll need to reset the session when they log in. The easiest way to do this after you've authenticated the user, use request.session.save() to convert the session to the datastore backed solution. ie: user = auth.authenticate() request.session.save() auth.login(request, user) On Mar 11, 12:40 pm, Ritesh Nadhani rite...@gmail.com wrote: Hi So I was reading the session utility athttp://code.google.com/p/gaeutilities/wiki/Session. I am using Django instead of web.py. The sample shows code: self.session = Session() In django, we dont get an object, rather a method is called, how can I store the session object similar to self.session. --~--~-~--~~~---~--~~ 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: Server Error A server error has occurred.
This seemed to get cleaned up overnight so I went back to deleting. It's now been 4 hours and data viewer is locked on server error 500. It's great that the rest of the site is working but there's nothing in the admin logs, etc. that gives me any idea when things will be working again. On Mar 10, 8:33 pm, Jim jdeib...@gmail.com wrote: Situation: trying to delete a bunch (100,000) entries in a table. Can't find drop table so the best that I've been able to come up with is deleting all of the entries. My app is apparently running fine - hard to tell with almost all the data gone. But the data viewer is not happy. It gives me the server error message when I try to delete the remaining entries it's showing me. It gives me the error message if I try to go past the first screen. And so on. Given a choice between alter table and delete table, I'll take delete table. Let me copy from table1 to table2 and then delete table1. In this case, if I'd had alter table, I wouldn't have needed delete table. Any suggestions on how to get GAE to tidy itself up? 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: garutilities Session objects in Django app
Thanks. I have the stock .96 running. I will try it out with it and let you know how it goes. Hopefully it will work for 0.96 out of box and then soon I will read upon the complete appengine-port. On Wed, Mar 11, 2009 at 10:12 AM, Joe Bowman bowman.jos...@gmail.com wrote: Hi, gaeutilities includes a session middleware Just add it in your settings.py For example, for one app I have MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'common.appengine_utilities.django- middleware.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', ) Note, this only verified with appengine-patch, and not the django0.96 bundled with appengine. Not saying it doesn't work, just saying I've never tried it. Also, the middleware takes advantage of the new session cookie writer. This is a large performance improvement by storing all session data in cookies for anonymous requests. In order to switch to the datastore backed solution for your logged in users, you'll need to reset the session when they log in. The easiest way to do this after you've authenticated the user, use request.session.save() to convert the session to the datastore backed solution. ie: user = auth.authenticate() request.session.save() auth.login(request, user) On Mar 11, 12:40 pm, Ritesh Nadhani rite...@gmail.com wrote: Hi So I was reading the session utility athttp://code.google.com/p/gaeutilities/wiki/Session. I am using Django instead of web.py. The sample shows code: self.session = Session() In django, we dont get an object, rather a method is called, how can I store the session object similar to self.session. -- Ritesh http://www.riteshn.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: Application instances seem to be too aggressively recycled
On Mar 11, 12:28 pm, johnP j...@thinkwave.com wrote: I've been tracking (and seeing) this for a while already. Besides the latency that occurs each time Django gets re-zipimported, what is concerning is the thought of paying for CPUs to constantly reload the cache. My app's not live yet - so there is some time before this becomes a $$$ problem for me, but... But how can you reach your billing limit if the issue is that you get low traffic in the first place? other than that, I agree, it would be great if this 2-sec limit was increased. I remain forever hopeful that it will be solved by then. :) On Mar 11, 4:26 am, Antonin Hildebrand antonin.hildebr...@gmail.com wrote: I can also confirm this behavior with my app, recycling takes place after about 2 seconds of inactivity. I also guess, that this recycling timeout had to be lowered by GAE team during last week, because I had running and working application on appspot. I did no updates to it and the app did break because of this change. On Mar 10, 6:22 pm, Jason C jason.a.coll...@gmail.com wrote: We have a new application that receives _very_ little load. So little, in fact, that each request spins up a new application instance. We are using Django trunk and the import overhead is high. All of this yields a long request (e.g., 8802ms) using a lot of CPU (e.g., 3247ms-cpu). With very little load, it makes sense that instances are recycled. On that assumption, we've started applying some primer load against a couple of uris in an attempt to keep some instances hot. We're applying around 1 request/second across 2 uris. When we hit a hot instance, we get blazing speed (e.g., url_1: 73ms 91ms-cpu, url_2: 368ms 615ms-cpu - these values are pulled from the App Engine console Logs tool and I'm not completely sure if this represents Runtime, or combined Runtime/API - I believe the latter). Under this 1 request/second load, we are still seeing lots of instance startup - even after 40-50 minutes of sustained load. Subjectively, the instance startups seem to come in bursts, though we've done no formal analysis around this. Does anyone else see this behavior? It _really_ kills our application performance - so much so, that we're considering moving away from Django in an effort to minimize the start-up pain. Any info or war stories would be appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-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: problem with import django
What command are you using to call Django in your code? On Mar 11, 7:57 am, arbi arbin...@gmail.com wrote: Hi, While making google's tutorial (google-app-engine-django), I had exactly the same problem as mentioned here :http://groups.google.fr/group/google-appengine/browse_thread/thread/7 I create a new post to make my pb visible. It is an importing django error. The warning I got is : [WARNING:root:Blocking access to skipped file /Users/brouard/ mysite/.google_appengine/lib/django/django/foo] The problem comes from the . in the path : /.google_appengine/ that causes the no module named Django error. I have the 1.1.9 version of appengine. The SDK folder (google_appengine) is already in /usr/local. But I don't understand what Brett said in the forum : The fix should be not use the Django helper's little trick of keeping your SDK in .google_appengine but instead actually install it, or at least keep it outside of your app directory. That should prevent the skipped file blocking from interfering with your imports. How can I fix this pb? (I am kind of newb) Thx Arbi --~--~-~--~~~---~--~~ 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: My own domain
Try doing a redirect on the www part to your domain. You will need to do this at the dns/domain register level. On Mar 11, 11:29 am, georgec george.chap...@gmail.com wrote: I'm having all sorts of problems adding my own domain name to AppEngine. I've already signed up to Google Apps and utilise their email, docs etc. I logged into AppEngine and went Versions Add Domain and entered my domain. It duly appeared in my Google Apps dashboard. When I click on it and Add new URL I can add something like info (http:// info.example.com) but am unable to enter www (http://www.example.com/). It goes through the motions but then doesn't appear on my list. and the DNS is all set up correctly in Network Solutions if it try to browse to www all I get is: The site you have requested could not be found. (404) Am I missing something completely obvious? thx --~--~-~--~~~---~--~~ 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: how to use google Analytics
This question might be better on the google analytics help board. Can you see the code you inserted when you View Source? A link to the page(s) in question might also be helpful. On Mar 11, 9:22 am, Coonay fla...@gmail.com wrote: in order to use google Analytics,the tracking code should be include into every page?i 've inserted the code, but it does't, could u mater tell me how to do it correctly? --~--~-~--~~~---~--~~ 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: Web Server Startup problem
When you access the page, do you see another line appear in the console output? -Ryan On Mar 11, 11:25 am, msuh m.salmanul...@yahoo.com wrote: Hey guys anyone having similar problem? Everything is ok, I start the server through dev_appserver and it starts showing this : programmerfish.com/screenshot.jpg Even though the server is running at localhost:8080 but when i try to access it, it displays 404 error. Browser settings are ok and I have also tried to reset the path of datastore but stilll doesnt work. --~--~-~--~~~---~--~~ 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: appcfg.py made to exclude dirs/files?
You can manage what does and does not get uploaded using the app.yaml file, described here: http://code.google.com/appengine/docs/python/tools/configuration.html -Ryan On Mar 11, 10:38 am, Jon jon.for...@gmail.com wrote: Just starting to look at GAE so I'm not certain that this is even an issue. Does appcfg.py only upload certain files, and if not, can it be told to exclude certain files and dirs in your app? For example, say I want to exclude .hg or .bzr or .svn directories. Thanks, Jon --~--~-~--~~~---~--~~ 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] Updating App Engine Project via Eclipse
I used the tutorial for setting up App Engine on Eclipse and everything is working, including the ability to run the GAE server locally and to update the latest version to the web. However, when I update my app - the console window asks for the user name/password as usual - but actually displays the characters for my password (instead of the echo characters I'd like to get that shield my password from view). I'm running everything on Windows. Does anybody know how to fix this issue? Also, does Eclipse log the console data. I'd rather not enter my password into the Eclipse console if it's saving it, without encryption, on my local machine. Thanks for your help! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-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] hello webapp 404 error
Hello GAEers, I am a complete newb on both GAE and python (I've mostly been in .net for the last 4 or 5 years). So I've probably just done something ignorant here. I've found that when I do the initial Hello World sample in the getting started guide, which just has a few print statements, everything is fine. But then, when I go to the next example at http://code.google.com/appengine/docs/python/gettingstarted/usingwebapp.html, I get a 404 error. I've reimplemented this on several machines and I always get the same problem. I've searched, but I haven't found this same issue so I'm a little dumbfounded. My appserver output looks like this: DEBUG2009-03-11 18:03:20,878 dev_appserver.py] Matched / favicon.ico to CGI dispatcher with path helloworld.py DEBUG2009-03-11 18:03:20,878 dev_appserver.py] Executing CGI with env: {'APPLICATION_ID': 'helloworld', 'AUTH_DOMAIN': 'gmail.com', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'CURRENT_VERSION_ID': '1.1', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,*,utf-8', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_HOST': 'localhost:8080', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.48 Safari/ 525.19', 'PATH_INFO': '/favicon.ico', 'PATH_TRANSLATED': 'd:\\dev\\apps\\helloworld\\helloworld.py', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': '', 'SERVER_NAME': 'localhost', 'SERVER_PORT': '8080', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'Development/1.0', 'TZ': 'UTC', 'USER_EMAIL': ''} DEBUG2009-03-11 18:03:20,878 dev_appserver.py] Reusing main() function of module helloworld INFO 2009-03-11 18:03:20,894 dev_appserver.py] GET /favicon.ico HTTP/1.1 404 - DEBUG2009-03-11 18:03:20,894 dev_appserver_index.py] No need to update index.yaml Any ideas, I'd sure be grateful! Mike --~--~-~--~~~---~--~~ 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: appcfg.py made to exclude dirs/files?
doh. there it is plain as day...skip_files...RTFM-a-little-slower :( On Wed, 11 Mar 2009 11:27:54 -0700 (PDT) Ryan Lamansky spam...@kardax.com wrote: You can manage what does and does not get uploaded using the app.yaml file, described here: http://code.google.com/appengine/docs/python/tools/configuration.html -Ryan On Mar 11, 10:38 am, Jon jon.for...@gmail.com wrote: Just starting to look at GAE so I'm not certain that this is even an issue. Does appcfg.py only upload certain files, and if not, can it be told to exclude certain files and dirs in your app? For example, say I want to exclude .hg or .bzr or .svn directories. Thanks, Jon --~--~-~--~~~---~--~~ 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] Extracting a City from a PostalAddress
The PostalAddressProperty appears to be just a string with some authentication (though I haven't looked into how to authenticate.) Which begs the questions: (1) How does one extract, say, a City from a PostalAddressProperty ? (2) How does one select all Models with a postal address in, say, London? I assume that to accomplish (2) with a query, one first needs to have attached the City before saving a Model reducing the problem of solving (2) to solving (1). Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] App Engine SDK Cheat Sheet
Hi All, Not sure if you saw the blog post this morning, but we created a cheat sheet: http://googleappengine.googlecode.com/files/google_app_engine_cheat_sheet_119_1.pdf We'd love your feedback. Feel free to post it on this thread. If you're attending SxSW, please say hello! Cheers, John --~--~-~--~~~---~--~~ 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: A question for Jaiku's developers, if they're watching..
I've done a good bit of googling about what exactly it is I'm trying to achieve, the correct terminology etc. and turns out I'm really looking for an efficient way to do pub/sub, publication/subscription, on appengine. Which led me to this eyebrow-raising little app from Brett Slakin and Brad Fitzpatrick: http://code.google.com/p/pubsubhubbub/ Jaiku folk seem to be involved too. Basically they have an experimental pub/sub system running on GAE, using http instead of xmpp. The goals are somewhat broader than my requirements - basically you have an atom feed at one url you post data to, the atom feed updates a hub, and the hub then updates your subscribers at different urls, so it's all a lot more distributed than I need. I imagine one could do something similar rolled into one application that handles publishing, the hub, and subscription (e.g. like jaiku or twitter). But the big minus point that sticks out here for me in pubsubhubub is that it completely avoids the question of the total write-cost per update. It can afford to do that because subscribers here are distributed all over the place on different domains and servers etc. so the write load gets spread across all those different urls/machines..it's not the concern of the hub running on appengine. But if pubs/subs/hub are all rolled into one application on appengine, then your application will be soaking up the total write cost. The hub handles updating each subscriber in the background, I think, so it does solve the issue of writing to n subscribers in the space of one request..the publisher issues its update to the hub, returns immediately, and then the hub partitions out the subscriber updates and works on updating everyone over time. But it doesn't solve the issue of monetary cost of doing n writes for n subscribers...if one publisher had lots of subscribers (e.g. hundreds of thousands or millions), each of their updates could cost $$$! But I guess one might be safe in assuming the average number of subs per publisher will be much lower than that..and make the idea financially feasible.. Anyway, I thought this project looked very interesting...it's giving me a lot to chew on now.. On Mar 11, 3:50 pm, peterk peter.ke...@gmail.com wrote: Hmm. Good thinking Andrew. I've done a bit more digging along those lines..I don't think Jaiku has publically said if and what messaging protocols they might use, but there seems to be some speculation that it uses XMPP. That might also neatly align with their comment that they are in some cases extending GAE in their port..and the recent news that XMPP is scheduled to come to GAE at some point in the next 6 months. Perhaps it's the work on the Jaiku port that's bringing that functionality... I didn't know anything about messaging protocols or XMPP until I dug around after your post, so it's all new to me. I found a project purporting to provide XMPP functionality in advance of Google's official support, athttp://imified-demo.appspot.com/, but looking at the code for it, I cannot for the life of me see how this could be used to address the problems discussed in my original email. That project seems only to take instant messages via a POST to a URL and save them to the datastore..but there doesn't seem to be any of the 'instant distribution' of updates to people subscribed to your presence etc. that other XMPP software boast about. Using that xmpp project linked, there doesn't seem to be anything there about pushing updates to subscribed users etc. I dug around the app gallery for other open source apps along similar lines..there are some would-be twitter/jaiku clones..all I've seen use non-messaging approaches, but they all make one compromise or another similar to solutions I'd come up with myself (e.g. taking the last 5 updates from friends and sorting them yourself in memory by date..which has its own issues, for example, if one user had made 5 updates recently..+ you'd inevitably hit a roadblock on all these reads beyond a certain number of friends..there's only so many friends you could do this for before it gets too slow). Any thoughts/ideas...? On Mar 11, 1:54 pm, Andrew Badera and...@badera.us wrote: you'd have to wonder if there's a push out to Gnip somewhere ... or if protocol buffers are involved .. Thanks- - Andy Badera - and...@badera.us - (518) 641-1280 - Tech Valley Code Camp 2009.1:http://www.techvalleycodecamp.com/ - Google me:http://www.google.com/search?q=andrew+badera On Wed, Mar 11, 2009 at 9:21 AM, peterk peter.ke...@gmail.com wrote: I just read on your blog (from January) the intention to release the appengine port of Jaiku as open source when the port is finished..but I was wondering if I could be so cheeky as to jump ahead with a couple of questions about it. The requirements of Jaiku seem to line up roughly similarly with issues I'm having in a slightly different context, that I'm finding pretty
[google-appengine] Re: A question for Jaiku's developers, if they're watching..
great find peterk! cant help but notice the very interesting async_apiproxy.py code in that project either...async db and url calls would be awesome cheers brian On Mar 11, 3:22 pm, peterk peter.ke...@gmail.com wrote: I've done a good bit of googling about what exactly it is I'm trying to achieve, the correct terminology etc. and turns out I'm really looking for an efficient way to do pub/sub, publication/subscription, on appengine. Which led me to this eyebrow-raising little app from Brett Slakin and Brad Fitzpatrick: http://code.google.com/p/pubsubhubbub/ Jaiku folk seem to be involved too. Basically they have an experimental pub/sub system running on GAE, using http instead of xmpp. The goals are somewhat broader than my requirements - basically you have an atom feed at one url you post data to, the atom feed updates a hub, and the hub then updates your subscribers at different urls, so it's all a lot more distributed than I need. I imagine one could do something similar rolled into one application that handles publishing, the hub, and subscription (e.g. like jaiku or twitter). But the big minus point that sticks out here for me in pubsubhubub is that it completely avoids the question of the total write-cost per update. It can afford to do that because subscribers here are distributed all over the place on different domains and servers etc. so the write load gets spread across all those different urls/machines..it's not the concern of the hub running on appengine. But if pubs/subs/hub are all rolled into one application on appengine, then your application will be soaking up the total write cost. The hub handles updating each subscriber in the background, I think, so it does solve the issue of writing to n subscribers in the space of one request..the publisher issues its update to the hub, returns immediately, and then the hub partitions out the subscriber updates and works on updating everyone over time. But it doesn't solve the issue of monetary cost of doing n writes for n subscribers...if one publisher had lots of subscribers (e.g. hundreds of thousands or millions), each of their updates could cost $$$! But I guess one might be safe in assuming the average number of subs per publisher will be much lower than that..and make the idea financially feasible.. Anyway, I thought this project looked very interesting...it's giving me a lot to chew on now.. On Mar 11, 3:50 pm, peterk peter.ke...@gmail.com wrote: Hmm. Good thinking Andrew. I've done a bit more digging along those lines..I don't think Jaiku has publically said if and what messaging protocols they might use, but there seems to be some speculation that it uses XMPP. That might also neatly align with their comment that they are in some cases extending GAE in their port..and the recent news that XMPP is scheduled to come to GAE at some point in the next 6 months. Perhaps it's the work on the Jaiku port that's bringing that functionality... I didn't know anything about messaging protocols or XMPP until I dug around after your post, so it's all new to me. I found a project purporting to provide XMPP functionality in advance of Google's official support, athttp://imified-demo.appspot.com/, but looking at the code for it, I cannot for the life of me see how this could be used to address the problems discussed in my original email. That project seems only to take instant messages via a POST to a URL and save them to the datastore..but there doesn't seem to be any of the 'instant distribution' of updates to people subscribed to your presence etc. that other XMPP software boast about. Using that xmpp project linked, there doesn't seem to be anything there about pushing updates to subscribed users etc. I dug around the app gallery for other open source apps along similar lines..there are some would-be twitter/jaiku clones..all I've seen use non-messaging approaches, but they all make one compromise or another similar to solutions I'd come up with myself (e.g. taking the last 5 updates from friends and sorting them yourself in memory by date..which has its own issues, for example, if one user had made 5 updates recently..+ you'd inevitably hit a roadblock on all these reads beyond a certain number of friends..there's only so many friends you could do this for before it gets too slow). Any thoughts/ideas...? On Mar 11, 1:54 pm, Andrew Badera and...@badera.us wrote: you'd have to wonder if there's a push out to Gnip somewhere ... or if protocol buffers are involved .. Thanks- - Andy Badera - and...@badera.us - (518) 641-1280 - Tech Valley Code Camp 2009.1:http://www.techvalleycodecamp.com/ - Google me:http://www.google.com/search?q=andrew+badera On Wed, Mar 11, 2009 at 9:21 AM, peterk peter.ke...@gmail.com wrote: I just read on your blog (from January) the intention to release the appengine port of Jaiku
[google-appengine] Re: App Engine SDK Cheat Sheet
Thanks :-) On Mar 11, 7:44 pm, John skid...@google.com wrote: Hi All, Not sure if you saw the blog post this morning, but we created a cheat sheet: http://googleappengine.googlecode.com/files/google_app_engine_cheat_s... We'd love your feedback. Feel free to post it on this thread. If you're attending SxSW, please say hello! Cheers, John --~--~-~--~~~---~--~~ 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: My own domain
Hi, Sometimes Google Sites or another service that had previously been mapped to the 'www' domain does not get properly deleted. Try following these directions: http://groups.google.com/group/google-appengine/web/deleting-existing-www-mapping-from-google-apps -Marzia On Wed, Mar 11, 2009 at 8:29 AM, georgec george.chap...@gmail.com wrote: I'm having all sorts of problems adding my own domain name to AppEngine. I've already signed up to Google Apps and utilise their email, docs etc. I logged into AppEngine and went Versions Add Domain and entered my domain. It duly appeared in my Google Apps dashboard. When I click on it and Add new URL I can add something like info (http:// info.example.com) but am unable to enter www (http:// www.example.com/). It goes through the motions but then doesn't appear on my list. and the DNS is all set up correctly in Network Solutions if it try to browse to www all I get is: The site you have requested could not be found. (404) Am I missing something completely obvious? thx --~--~-~--~~~---~--~~ 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: Server Error A server error has occurred.
Hi, When doing bulk deletes in App Engine, the datastore may begin to experience the errors you have observed. This is a known issue. After a short time it should return to normal. -Marzia On Wed, Mar 11, 2009 at 10:10 AM, Jim jdeib...@gmail.com wrote: This seemed to get cleaned up overnight so I went back to deleting. It's now been 4 hours and data viewer is locked on server error 500. It's great that the rest of the site is working but there's nothing in the admin logs, etc. that gives me any idea when things will be working again. On Mar 10, 8:33 pm, Jim jdeib...@gmail.com wrote: Situation: trying to delete a bunch (100,000) entries in a table. Can't find drop table so the best that I've been able to come up with is deleting all of the entries. My app is apparently running fine - hard to tell with almost all the data gone. But the data viewer is not happy. It gives me the server error message when I try to delete the remaining entries it's showing me. It gives me the error message if I try to go past the first screen. And so on. Given a choice between alter table and delete table, I'll take delete table. Let me copy from table1 to table2 and then delete table1. In this case, if I'd had alter table, I wouldn't have needed delete table. Any suggestions on how to get GAE to tidy itself up? 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: Google AdSense on App Engine
Yes, thanks. I think computing resources = money . . . On Mar 11, 3:10 pm, Dennis Peterson dennisbpeter...@gmail.com wrote: I posted a feature request on this...it would be nice to have adsense feed directly into app engine fees, so it can all just run itself without you bothering with it. Then even a third-world kid with an OLPC could build a big site. If the adsense revenues fall short, respond to any excess hits with a donation page. For the kinds of sites that people feel charitable towards, this could work nicely. -d On Mon, Mar 9, 2009 at 12:40 PM, Ryan Lamansky spam...@kardax.com wrote: Yes. If you direct both AdSesnse and App Engine to the same bank account, it will pay for itself if your advertising income covers your resource usage fees. -Ryan On Mar 8, 12:11 pm, Let Delete My Apps davide.rogn...@gmail.com wrote: Idea: Can I put AdSense on my app to receive additional computing resources, instead to receive money? I saw:http://www.google.com/services/adsense_tour/index.html --~--~-~--~~~---~--~~ 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: *** BigTable vs SQLite vs MySQL ***
Ok :-) Where is your documentation? . . . On Mar 10, 4:07 am, Ryan Lamansky spam...@kardax.com wrote: The App Engine datastore is pretty slow for individual actions. It's specialty is being able to do those things with 50,000 concurrent users. -Ryan On Mar 9, 4:32 pm, Let Delete My Apps davide.rogn...@gmail.com wrote: Back to the past: I planned to migrate a python app ... but my tests on google engine was really bad, compare to sqlite or mysql. http://groups.google.com/group/google-appengine/browse_thread/thread/... Now? Does the Comparison Table exists? --http://pyoohtml.appspot.com/let-delete-my-apps/home --~--~-~--~~~---~--~~ 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 is the best way for paginating a list of records? ###
What is the best way for paginating a list of records? See 30. Object pagination http://www.djangoproject.com/documentation/models/pagination/ from django.core.paginator import Paginator paginator = Paginator(Article.objects.all(), 5) paginator.count 9 paginator.num_pages 2 paginator.page_range [1, 2] -- http://pyoohtml.appspot.com/let-delete-my-apps/home --~--~-~--~~~---~--~~ 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 is the best way for paginating a list of records? ###
http://code.google.com/appengine/articles/paging.html -- Dan On Wed, Mar 11, 2009 at 2:00 PM, Let Delete My Apps davide.rogn...@gmail.com wrote: What is the best way for paginating a list of records? See 30. Object pagination http://www.djangoproject.com/documentation/models/pagination/ from django.core.paginator import Paginator paginator = Paginator(Article.objects.all(), 5) paginator.count 9 paginator.num_pages 2 paginator.page_range [1, 2] -- http://pyoohtml.appspot.com/let-delete-my-apps/home --~--~-~--~~~---~--~~ 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 is the best way for paginating a list of records? ###
Thanks :-) Now I can not Rate your post with 5 stars, why? . . . On Mar 11, 10:04 pm, Dan Sanderson dansander...@google.com wrote: http://code.google.com/appengine/articles/paging.html -- Dan On Wed, Mar 11, 2009 at 2:00 PM, Let Delete My Apps davide.rogn...@gmail.com wrote: What is the best way for paginating a list of records? See 30. Object pagination http://www.djangoproject.com/documentation/models/pagination/ from django.core.paginator import Paginator paginator = Paginator(Article.objects.all(), 5) paginator.count 9 paginator.num_pages 2 paginator.page_range [1, 2] -- http://pyoohtml.appspot.com/let-delete-my-apps/home --~--~-~--~~~---~--~~ 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: problem with import django
Thanks for your answer :) But finally I did it with the django patch instead of django helper. On 11 mar, 19:05, WallyDD shaneb...@gmail.com wrote: What command are you using to call Django in your code? On Mar 11, 7:57 am, arbi arbin...@gmail.com wrote: Hi, While making google's tutorial (google-app-engine-django), I had exactly the same problem as mentioned here :http://groups.google.fr/group/google-appengine/browse_thread/thread/7 I create a new post to make my pb visible. It is an importing django error. The warning I got is : [WARNING:root:Blocking access to skipped file /Users/brouard/ mysite/.google_appengine/lib/django/django/foo] The problem comes from the . in the path : /.google_appengine/ that causes the no module named Django error. I have the 1.1.9 version of appengine. The SDK folder (google_appengine) is already in /usr/local. But I don't understand what Brett said in the forum : The fix should be not use the Django helper's little trick of keeping your SDK in .google_appengine but instead actually install it, or at least keep it outside of your app directory. That should prevent the skipped file blocking from interfering with your imports. How can I fix this pb? (I am kind of newb) Thx Arbi --~--~-~--~~~---~--~~ 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] 'module' object has no attribute 'Charfield'
Hi, I am a beginner, because I think it is a simple issue : class 'django.core.exceptions.ViewDoesNotExist': Tried start_page in module routes.views. Error was: 'module' object has no attribute 'CharField' In my routes.views I have the start_page def : def start_page(request): return render_to_response ('routes/index_search_template.html') Did I forget to import something? Is it a problem linked to template? Thanks a lot Arbi --~--~-~--~~~---~--~~ 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: Whats the max size that GAE allows to upload.
A user can upload a file of up to 10 MB, however, datastore entities are limited to 1MB, so if you're storing a larger file you'll need to break it into smaller chunks. Of course, if it's really not uploading at all this might not be your problem. What makes you think it's not uploading? On Mar 11, 1:41 am, Hareem Ul Haque hareem.ha...@gmail.com wrote: Whats the max file size for an object that needs to be stored on GAE. I am trying to upload a simple wav file and its around 3mb and its not uploading at all. Any help is greatly apprecaited. Regards Hareem Ul Haque --~--~-~--~~~---~--~~ 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: Thanks GAE team
Thank you for your work ;-) On Mar 10, 8:36 pm, cz czer...@gmail.com wrote: The datastore seems to be unusually zippy today, whatever you googly types did yesterday sure worked. Beautiful! thanks, - Claude --~--~-~--~~~---~--~~ 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: A question for Jaiku's developers, if they're watching..
The app is actually live here: http://pubsubhubbub.appspot.com/ http://pubsubhubbub-subscriber.appspot.com/ (pubsubhubbub-publisher isn't there, but it's trivial to upload your own.) This suggests it's working on appengine as it is now. Been looking through the source, and I'm not entirely clear on how the 'background workers' are actually working..there are two, one for pulling updates to feeds from publishers, and one for propogating updates to subscribers in batches. But like I say, I can't see how they're actually started and running constantly. There is a video here of a live demonstration: http://www.veodia.com/player.php?vid=fCNU1qQ1oSs The background workers seem to be behaving as desired there, but I'm not sure if they were just constantly polling some urls to keep the workers live for the purposes of that demo, or if they're actually running somehow constantly on their own.. I can't actually get the live app at the urls above to work, but not sure if it's because background workers aren't really working, or because i'm feeding it incorrect urls/configuration etc. On Mar 11, 8:01 pm, bFlood bflood...@gmail.com wrote: great find peterk! cant help but notice the very interesting async_apiproxy.py code in that project either...async db and url calls would be awesome cheers brian On Mar 11, 3:22 pm, peterk peter.ke...@gmail.com wrote: I've done a good bit of googling about what exactly it is I'm trying to achieve, the correct terminology etc. and turns out I'm really looking for an efficient way to do pub/sub, publication/subscription, on appengine. Which led me to this eyebrow-raising little app from Brett Slakin and Brad Fitzpatrick: http://code.google.com/p/pubsubhubbub/ Jaiku folk seem to be involved too. Basically they have an experimental pub/sub system running on GAE, using http instead of xmpp. The goals are somewhat broader than my requirements - basically you have an atom feed at one url you post data to, the atom feed updates a hub, and the hub then updates your subscribers at different urls, so it's all a lot more distributed than I need. I imagine one could do something similar rolled into one application that handles publishing, the hub, and subscription (e.g. like jaiku or twitter). But the big minus point that sticks out here for me in pubsubhubub is that it completely avoids the question of the total write-cost per update. It can afford to do that because subscribers here are distributed all over the place on different domains and servers etc. so the write load gets spread across all those different urls/machines..it's not the concern of the hub running on appengine. But if pubs/subs/hub are all rolled into one application on appengine, then your application will be soaking up the total write cost. The hub handles updating each subscriber in the background, I think, so it does solve the issue of writing to n subscribers in the space of one request..the publisher issues its update to the hub, returns immediately, and then the hub partitions out the subscriber updates and works on updating everyone over time. But it doesn't solve the issue of monetary cost of doing n writes for n subscribers...if one publisher had lots of subscribers (e.g. hundreds of thousands or millions), each of their updates could cost $$$! But I guess one might be safe in assuming the average number of subs per publisher will be much lower than that..and make the idea financially feasible.. Anyway, I thought this project looked very interesting...it's giving me a lot to chew on now.. On Mar 11, 3:50 pm, peterk peter.ke...@gmail.com wrote: Hmm. Good thinking Andrew. I've done a bit more digging along those lines..I don't think Jaiku has publically said if and what messaging protocols they might use, but there seems to be some speculation that it uses XMPP. That might also neatly align with their comment that they are in some cases extending GAE in their port..and the recent news that XMPP is scheduled to come to GAE at some point in the next 6 months. Perhaps it's the work on the Jaiku port that's bringing that functionality... I didn't know anything about messaging protocols or XMPP until I dug around after your post, so it's all new to me. I found a project purporting to provide XMPP functionality in advance of Google's official support, athttp://imified-demo.appspot.com/, but looking at the code for it, I cannot for the life of me see how this could be used to address the problems discussed in my original email. That project seems only to take instant messages via a POST to a URL and save them to the datastore..but there doesn't seem to be any of the 'instant distribution' of updates to people subscribed to your presence etc. that other XMPP software boast about. Using that xmpp project linked, there doesn't seem to be anything there about pushing
[google-appengine] Re: Passing Gqlquery() or get() result to template, then decide to iterate or not
Hi Kev, I wouldn't worry too much about querying vs. db.get - if you're concerned about the performance measure both approaches so you can see the difference for your app. As for combining the templates though, you could just add square brackets around the linked_item in SingleItem: values = {'items': [linked_item]} cheers Michael On Mar 10, 7:27 am, kd dias@gmail.com wrote: Hi, The homepage of my app displays a list of items with their content (might as well think of it as a blog), and you can also link to individual items. I'd like to use the same set of templates for both cases. So my handlers look something like this: - class MainPage(webapp.RequestHandler): def get(self): items = db.GqlQuery('SELECT * FROM Item') values = {'items': items} self.response.out.write(template.render('main.html', values)) class SingleItem(webapp.RequestHandler): def get(self): key = #determine item key linked_item = db.get(key) values = {'linked_item': linked_item} self.response.out.write(template.render('main.html', values)) - And here's main.html: - {% if linked_item %} {{ linked_item.content }} {% else %} {% for item in items %} {{ item.content }} {% endfor %} {% endif %} - This doesn't look like a great solution but I haven't been able to think of (or find) a better one. I've been told to use db.get when possible because it's faster, but the object it returns isn't iterable and so the template becomes awkward. Is there a way to put the return from db.get into an iterable object? That way I could simply have {% for item in items %} {{ item.content }} {% endfor %} in my template and it would work without errors. Should I just use a query instead of db.get? Any other solutions? I've been looking through GAE and Django template docs but haven't found anything yet. Any ideas, even a link to the right piece of documentation would be awesome. Thanks, Kev --~--~-~--~~~---~--~~ 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: Application instances seem to be too aggressively recycled
That's an excellent point. Can I assume that (if) I ever reach the billing limit, the cache will last longer than 2 seconds? On Mar 11, 11:00 am, peterh peter.hau...@gmail.com wrote: On Mar 11, 12:28 pm, johnP j...@thinkwave.com wrote: I've been tracking (and seeing) this for a while already. Besides the latency that occurs each time Django gets re-zipimported, what is concerning is the thought of paying for CPUs to constantly reload the cache. My app's not live yet - so there is some time before this becomes a $$$ problem for me, but... But how can you reach your billing limit if the issue is that you get low traffic in the first place? other than that, I agree, it would be great if this 2-sec limit was increased. I remain forever hopeful that it will be solved by then. :) On Mar 11, 4:26 am, Antonin Hildebrand antonin.hildebr...@gmail.com wrote: I can also confirm this behavior with my app, recycling takes place after about 2 seconds of inactivity. I also guess, that this recycling timeout had to be lowered by GAE team during last week, because I had running and working application on appspot. I did no updates to it and the app did break because of this change. On Mar 10, 6:22 pm, Jason C jason.a.coll...@gmail.com wrote: We have a new application that receives _very_ little load. So little, in fact, that each request spins up a new application instance. We are using Django trunk and the import overhead is high. All of this yields a long request (e.g., 8802ms) using a lot of CPU (e.g., 3247ms-cpu). With very little load, it makes sense that instances are recycled. On that assumption, we've started applying some primer load against a couple of uris in an attempt to keep some instances hot. We're applying around 1 request/second across 2 uris. When we hit a hot instance, we get blazing speed (e.g., url_1: 73ms 91ms-cpu, url_2: 368ms 615ms-cpu - these values are pulled from the App Engine console Logs tool and I'm not completely sure if this represents Runtime, or combined Runtime/API - I believe the latter). Under this 1 request/second load, we are still seeing lots of instance startup - even after 40-50 minutes of sustained load. Subjectively, the instance startups seem to come in bursts, though we've done no formal analysis around this. Does anyone else see this behavior? It _really_ kills our application performance - so much so, that we're considering moving away from Django in an effort to minimize the start-up pain. Any info or war stories would be appreciated. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-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: 502 Server Errors after upgrade?
Wow, thanks for the attention, Brett! We just did a big site update for our app, too, and have been running around trying to fix critical bugs and get users back online, too, so you've my sympathies. I haven't been doing testing since you guys got the latency levels down, since I did a big blitz right before overhauling the app to be immune to increased latency (from the user's point of view). We still have a lot of handlers running a few hundred ms cpu, but they haven't been getting slammed like they were before, and I got a better version of my one library that was taking 1300ms to import. I think you've explained the unresolved mystery of why the handlers were getting slammed so hard. We were using app caching, weren't anywhere near 30 instances, and were getting hit bad even with no datastore access and no instance startup costs-- --but the bit about scaling instances to match sustained throughput is enlightening. I had thought that when Marzia said that prioritization was per-request and not per-handler or per-app, that meant this sort of thing (fast requests being deprioritized) wouldn't happen, and that's why I was confused. The smaller requests slowing down because of the big requests (which were mostly happening on instance startup and were getting deprioritized hard) sounds like my issue. Requests were very variable on the app, and so a sustained throughput calculation would be significantly off from second to second or minute to minute, which may not have helped things. One thing we found out we could do at the developer chat was store a lot more than we'd counted on in the memcache. Since we couldn't find any limits posted, we were being (extremely, as it turns out) conservative with memcache space. We'll be able to increase performance in many places by putting more lookup tables in there. I know that there are few guarantees when it comes to how much will fit in there, but if Marzia has said that around 100MB is the right ballpark, then perhaps some info can be put online so others can have some estimate of its capacity. After the dust's settled, I'm quite happy with App Engine performance, and the ease of use has been a dream. Thanks for all your hard work! --Nick --~--~-~--~~~---~--~~ 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: Searching in GeoPt
These are the 3 clues all leaving more to wish: 1. mutiny.appspot.com is the official geopt app but has gears dependency. 2. My similar (experimental) function filters according to lat/lng as below. adds = Adds.all() L=[] range = float(self.request.get('range')) for t in adds: if t.geopt: if t.geopt.lat range + float(self.request.get('lat')) and t.geopt.lon range + float(self.request.get('lng')) and t.geopt.lat float(self.request.get('lat')) - range and t.geopt.lon float (self.request.get('lng')) - range : L.append(thing) 3. geohash libraries might be more useful or a feature request issue filed. It's an interesting issue. Cheers Niklas On Mar 11, 12:05 pm, Dan Course dancou...@gmail.com wrote: Morning Group, Hope everyone's all good? Got a dev. problem driving me nuts and I can't figure out or find a simple solution throughout the posts. We're saving Lat/Lng in a GeoPt datatype. We then need to search within all those GeoPts for the nearest within a radius/square (range) eg, search?lat=2lng=5range=5metres What's the easiet way of sorting this? The bounding box method seems overly complex and crazy, are we just hoping for a simple solution to quite a complex solution? WHERE GEOPT NEAR (LAT=2, LNG=2) Any clues? Thanks, DanC --~--~-~--~~~---~--~~ 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: Searching in GeoPt
There is no easy answer. The datastore has no 'geoindex' built in, so the application developer has to develop their own. The bounding box one is probably one of the most complete examples. Although there are other possibilities including more advanced geohash based versions. At somepoint the datastore may implement a geoindex for you, but it will probably use a similar implementation under the hood, until then its upto you. On 11/03/2009, Dan Course dancou...@gmail.com wrote: Morning Group, Hope everyone's all good? Got a dev. problem driving me nuts and I can't figure out or find a simple solution throughout the posts. We're saving Lat/Lng in a GeoPt datatype. We then need to search within all those GeoPts for the nearest within a radius/square (range) eg, search?lat=2lng=5range=5metres What's the easiet way of sorting this? The bounding box method seems overly complex and crazy, are we just hoping for a simple solution to quite a complex solution? WHERE GEOPT NEAR (LAT=2, LNG=2) Any clues? Thanks, DanC -- 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: Intermittent upload problems this week
Thanks Marzia. I've been away from this machine for a few days, but this error is still happening. Oddly, it seems to be app-dependent: application: test-insightdining //works fine application: insightdining //causes the EOF error I'll be leaving tomorrow for SXSW. Hope to see some of you there. =) Brenton --~--~-~--~~~---~--~~ 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: Cyclic Definition Problem
class PElement(PolyModel): name = db.StringProperty() pMethodInput = db.ReferenceProperty(collection_name='input') pMethodOutput = db.ReferenceProperty(collection_name='output') ^That's what I mean by not typing the RP. --~--~-~--~~~---~--~~ 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: Clarification of Term 4.4
Yes, using multiple app_ids like this is against the TOS. We are building infrastructure to support your use case, however, so that you do not need to use multiple application IDs. In the meantime, we are happy to consider exceptions on a case-by-base basis. You can file your request using the form at: http://code.google.com/support/bin/request.py?contact_type=AppEngineMultiInstanceExceptionRequest If you want more details, there are basically two ways of deploying a single application to multiple domains: 1. Use a single app_id and build namespacing API hooks for your calls to memcache and the datastore. If you want to use the users API with this solution, you'll have to stick with ordinary Google Accounts, not Google Apps Accounts. For more on API hooks, see http://code.google.com/appengine/articles/hooks.html 2. Use multiple app identifiers and bind each to a separate domain. This solution allows for use of the users API with Google Apps Accounts. To support option 2, we will consider making exceptions to our terms when it is clear that multiple identifiers are being used to deploy an app to multiple different customers. That is, each application ID must restrict authentication to a different Google Apps domain, and any significant functionality (beyond splash pages, login pages, etc) must be available only to members of these domains. To apply for an exception, use the form linked above. Cheers! - Jason On Mar 2, 4:55 pm, TAN KH tank...@gmail.com wrote: 4.4. You may not develop multiple Applications to simulate or act as a single Application or otherwise access the Service in a manner intended to avoid incurring fees. Clarification I am currently developing my app to operate on 1 application instance per company/organisation. These application instances can have content/xml messages that flows in/out between them. Is this considered to be in violation of the above terms ? This would also mean that a large number of organisations equates to a large number of applications. Is this also considered a violation when I manage multiple application instances thru' multiple gmail accounts since there is a 10 application limit ? Appreciate the clarification. --~--~-~--~~~---~--~~ 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: Data Storage Size - multiplier per object
I think that some transparency on this from the GAE team would be good. I would like to see in the control panel the size of each of the indexes that has been built -- including the single property indexes that are not shown. It would also be really nice to have a good way of marking a property in a model as 'not to be indexed'. If it is a string, then you can use a TextProperty type, but for all the other types, you are stuck with indexed properties. In fact, I don't really see why the process that autogenerates the index.yaml file shouldn't include the single property indexes as well. It may be that the optimal strategy is to take all the properties that you don't want indexed and pickle them into blob on store, and unpickle them on a get. However, this just doesn't seem like the right approach This is an area where some tools are really called for -- to allow us to see where the datastore quota is actually being used. Philip On Mar 10, 12:30 pm, Jonathan Ultis jonathan.ul...@gmail.com wrote: Or better, take your raw data size excluding BlobProperty and TextProperty and multiply by 15x. I'm not sure what the multiplier is on the unindexed properties yet. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] problem occurs when i read chinese character from app engine database
the data in my app engine database was english characters. today i directly use admin cosole to change them to chinese charactors, but they just show none in the web page.what is wrong? --~--~-~--~~~---~--~~ 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: *** BigTable vs SQLite vs MySQL ***
http://lmgtfy.com/?q=appengine+datastore+documentationl=1 2009/3/11 Let Delete My Apps davide.rogn...@gmail.com: Ok :-) Where is your documentation? . . . On Mar 10, 4:07 am, Ryan Lamansky spam...@kardax.com wrote: The App Engine datastore is pretty slow for individual actions. It's specialty is being able to do those things with 50,000 concurrent users. -Ryan On Mar 9, 4:32 pm, Let Delete My Apps davide.rogn...@gmail.com wrote: Back to the past: I planned to migrate a python app ... but my tests on google engine was really bad, compare to sqlite or mysql. http://groups.google.com/group/google-appengine/browse_thread/thread/... Now? Does the Comparison Table exists? --http://pyoohtml.appspot.com/let-delete-my-apps/home -- It is better to be wrong than to be vague. — Freeman Dyson --~--~-~--~~~---~--~~ 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] A dilemma of reading data from and saving data into app engine database!
If we don't use decode(utf-8), we can insert data into app engine database easily, but the problem will occur when reading these data from your database, some strings may show None in web pages. if we use decode(utf-8), some character can't insert into the database,the error may similar to 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128). so if we avoid the problem when inseting data,the problem will occur when we read them;but if we want to get rid of the problem when reading the data,some data can't insert into the database.can anybody solve this dilemma? --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---