[google-appengine] Re: usercount
One way is to store a lastSeen datetime property for each user in some kind of user entity in your data model and then do a query to find how many were seen in the last 10 minutes or so. I don't recommend counting active http requests since the answer will be 0 most of the time. Requests don't last longer than 25ms or so and if they do you're burning your cpu quota. On Feb 23, 10:33 pm, niklas nikla...@gmail.com wrote: Hello, how to count active users, e.g. count active http sessions can be useful. if you know it please share it. Thanks Niklas --~--~-~--~~~---~--~~ You 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 new Webapp - India Hot News - News Aggregation Service
Let me try to improve loading time by reducing the initial computation. On Feb 23, 3:53 pm, KBala kbala@gmail.com wrote: yeah it takes time, i am in 1mbs line, its bti slow than my other sites, we may not configure properly, not sure On Feb 23, 3:48 pm, vinodxx vino...@gmail.com wrote: Hello friends, What about the loading time you are experiencing. When I have tested in my 256kbps connection it takes about 5 secs to load. Regards, Vinod On Feb 23, 9:15 am, vinodxx vino...@gmail.com wrote: Hello friends, I have made a india centric news aggregation service here. http://india-news.appspot.com/ It was made in last month. At that time it was not working properly because of urlfetch errors. Thanks appengine team for rectifying this error. Now the application is working wonderfully. Please give me a feedback on this application. Regards, Vinod --~--~-~--~~~---~--~~ You 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: Cloud Computing
We have an application and I would want to introduce it in Cloud Computing. We have read a lot of things about Cloud Computing and theirs advantages. I don't know if GAE is just a hosting which supports python environment or if I could get all the advantages of Cloud Computing with GAE. I'm reading all the information of the differents actors of Cloud Computing and I must choose one and introduce my application into. Anybody knows the best application?? (Microsoft Azure, Intalio, Amazon...) 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: Cannot Properly Catch DeadlineExceededError
Thanks for the response Marzia. I tried again with the return statement and I am still having the same issue. The code I pasted below is the entirety of my handler, so there is nothing in it that would cause a timeout after the initial DeadlineExceededError. I also checked that I am importing the correct DeadlineExceededError, and I can tell the error is being caught because I get the Ran out of time. message in my logs. Any other ideas? It is also interesting to note that for most exceptions I get a stack trace of the error. In this case I am getting a Google branded page titled 502 Server Error that says: Google Error Server Error The server encountered a temporary error and could not complete your request. Please try again in 30 seconds. What is this page? On Feb 23, 10:53 am, Marzia Niccolai ma...@google.com wrote: Hi Lenza, This works for me. So I think it might be one of two things. First, are you importing the correct DeadlineExceededError? You need to make sure to have this import: from google.appengine.runtime import DeadlineExceededError If you don't, sleeping for 30 seconds will raise this error, but it won't be caught. The other thing is that you need to explicitly return your handler after you print the error message or else the handler will keep executing, and that may be the cause of the error (not returning the message quick enough). So, modify the exception with: except DeadlineExceededError: logging.error(Ran out of time.) self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) return -Marzia On Sun, Feb 22, 2009 at 9:55 PM, lenza le...@aznel.trickip.net wrote: I am attempting to customize my application response to a DeadlineExceededError. I am able to catch the exception, but my custom response is not getting through. Instead I get the default 502 Server Server Error page even after clearing the response and writing a custom one. It seems as if the GAE is allowing time for cleanup, but ignoring anything written to the response object. Is anyone doing this successfully? More details... The GAE documentation states that you can customize your applications response to a DeadlineExceededError with the following example code (seehttp://code.google.com/appengine/docs/python/runtime.html): class MainPage(webapp.RequestHandler): def get(self): try: # Do stuff... except DeadlineExceededError: self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) I have the following handler for /test on my App: class TestPage(webapp.RequestHandle): def get(self): try: sleeptime = int(self.request.get('sleep')) if(sleeptime == 0): logging.info(Programatically raising DeadlineExceededError) raise DeadlineExceededError else: time.sleep(sleeptime) except DeadlineExceededError: logging.error(Ran out of time.) self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) logging.info(About to write normal result message) self.response.out.write(This is the normal result message) When I request /test?sleep=30 I get the 502 Server Server Error page and the in my logs: (E) 02-22 09:31PM 05.652 Ran out of time. (I) 02-22 09:31PM 05.653 About to write normal result message When I request /test?sleep=0 I get the expected This operation could not be completed in time... message page. Anyone know what's up with this? Thanks for any help! -Lenza --~--~-~--~~~---~--~~ You 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: Grouping and counting in GAE... advice needed
This is a brain dump (LONG) as I work through this problem. Hope it helps others or others can help me by correcting mistakes or suggesting alternatives. First, look at this article on Digg-like functionality: http://code.google.com/appengine/articles/overheard.html That article suggests this formula for a decaying vote ranking in models.set_vote(): rank = quote.created * DAY_SCALE + quote.votesum Each new vote causes this rank to be recalculated. The keys to this approach are (1) you only compute on write and (2) the passage of time increases rank values so all untouched (i.e., not recently voted on) articles don't have to be updated. In the example, DAY_SCALE = 4 and quote.created is # of days, so an article a day older would need 4 votes more than a new article to rank the same. In your case, you want an ordered list of URLs with most votes in the last hour.This means a new vote is worth infinitely more than a vote more than an hour ago. (And you want a step function -- all votes within an hour are treated equally.) Any solution, to be manageable, should not require periodic updates to all articles, even untouched ones. First, put a property last_vote_time for the most recent vote in the model. So we can simply ignore every link that has last_vote_time more than an hour ago. Now we're left with all links that received a vote in the last hour, but rank scores will contain stale votes. This is where I run into trouble figuring out how to adapt the previous method to this problem. So I'm going to have to think of another approach. Let's start with a simpler problem where we only use non-overlapping hour windows, i.e., the rankings get reset every hour on the hour. In this case, the first vote after an hour boundary gets crossed resets the rank score. Rank is just votesum for this hour window. Now what happens if we use more of these hour windows, but stagger them across an hour: votesum_0_min = db.IntegerProperty() votesum_5_min = ... votesum_10_min = ... ... votesum_55_min = ... In the above, votesum_5_min covers the future hour span that starts 5 minutes into the hour, e.g. 6:05 to 7:05. On new vote, we look at the current time and the last_vote_time, then clear every votesum that straddles its boundary. Example: Last vote time was 8:16, current time of new vote is 8:33. We clear votesum_20_min, votesum_25_min, votesum_30_min, and set all of them to 1 vote for this new vote. All other votesums += 1. Let's say we it's now 8:38 pm and we want to see all the links with most votes for the last hour. Call our model URLModel. q = URLModel.gql('ORDER by votesum_40_min DESC') urls = q.fetch(...) We order on the window that has been active the longest for the current time. Looking at the query above, you notice that we have to remove all URLModel entities with last_vote_time more than an hour ago, but we want to order on votesum_40_min. We could do: q = URLModel.gql('WHERE last_vote_time :hour_ago ORDER BY last_vote_time, votesum_40_min DESC') but we'll have to do the real votesum_40_min ordering after the fetch. We could use an equality filter that pretty much removes all entities with last_vote_time more than an hour ago. One solution would be to add a StringListProperty, call it last_vote_hours, that contains strings corresponding to the last vote's hour in 00-23 format and its hour + 1. So a vote at 7:45 pm would store ['19', '20] in last_vote_hours. Back to our query at 8:38 pm: q = URLModel.gql('WHERE last_vote_hours = '20' ORDER by votesum_40_min DESC') urls = q.fetch(...) Then just remove any urls with last_vote_hours more than an hour ago. I think that may be the most efficient way to do it but look forward to hearing from others if they've actually read this far :) -Bill --~--~-~--~~~---~--~~ You 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: Download code
You must have only one. Copy/past the GAEFB handlers at the top of your app.yaml Regards On Feb 23, 11:29 pm, Luis Gonzalez luis...@gmail.com wrote: Sorry, but there's something that's not quite clear: I understand that I must place all files within src into the root directory. But I don't understand what to do with the yaml files. Because now I have two app.yaml files (my site's one and GAEAppFileBrowser's one)... On 20 feb, 06:29, niklasr nikla...@gmail.com wrote: Placing files from the GAEAppFileBrowser.rar src folder in the app's root directory,( listfiles.py in the same root folder as app.yaml ) and the yaml from the appfilesbrowser's app.yaml to the destination app.yaml (and keeping filenames unique) installs it. Sincerely Niklas On Feb 19, 2:41 am, luismgz luis...@gmail.com wrote: Very interesting! But please explain, how should I install this? Should I place the src folder in the rrot directory? Should I copy the files? How should I avoid conflicts with my own scripts (.py, yaml, static, etc)? Luis On 9 feb, 20:44, niklasr nikla...@gmail.com wrote: I includehttp://appfilesbrowser.googlecode.com/files/GAEAppFileBrowser.rar and download deployed source to local. Datastore backup solution seems to be approcket. regards Niklas --~--~-~--~~~---~--~~ You 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: Design models for Post/Tags
I'm new to the python programming language and app engines datastore, and so most of the time i'm thinking about my data in a relational database way. But for simple modeling like this, it is really really easy. Just a couple of lines, and it works! Anyway thanks! On 23 feb, 22:57, David Symonds dsymo...@gmail.com wrote: On Mon, Feb 23, 2009 at 11:00 PM, Versluys Sander versluyssan...@gmail.com wrote: @david, yes I see, I thought about doing it that way... it's lots simpler... Is it still possible to get all the tags of all the posts? (you know, for getting tag autocompletion, or a 'cool' tagcloud :-) ) What I suggested was still to keep the Tag entities, so yes, it's easy if you do that. Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Advice on dealing with high CPU consumption in fetch + parse script
Hi, I would like to have some advice on how to deal with a CPU consuming script. The script simply fetches an Atom XML file (using urlfetch) and then parses each item using both minidom and BeautifulSoup. The Atom file typically has 50 entries. It seems that spawning a process for each N entries to be parsed would be the best option. However I think that this is not possible with GAE. The Atom file is being retrieved every hour. I could reduce the number of entries to be parsed by increasing the frequency of urlfetch calls. The trade off seems to be between more calls to urlfetch with fewer items to parse, or less calls to urlfetch with more items to parse. Any other option I am missing? In a nutshell, what is the best (optimized and scalable) way to periodically fetch and parse an Atom feed. Thanks in advance for any comments, -- Sérgio Nunes --~--~-~--~~~---~--~~ You 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] usage billing and multiple deployment
Hi, as more and more enterprise application people are trusting clouding computing... I was wondering about the billing model for such applications... its normally , Pay for what you actually use. so the actual problem I was facing is , 1) Is there any guideline ( read suggestion ) on how to calculate usage on google app engine ? i.e. how many request , how much data stored per application . ?. it might be good idea to just create a query to count the approximately data storage . i.e. total data store in kb = Entity.all().filter(user =,user).size_of_data(kb) may not be accurate for up to last second .. but good enough if it is accurate within last day. or even better , can we just have a function in webapp itself to give us approx amount the current request cost us. for example :: self.get_current_request_cost() {{ approximately of course , its a egg and hen problem }} - 2) There is deployment issue also. -- --~--~-~--~~~---~--~~ You 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: usage billing and multiple deployment
i really like it , if google group allow to edit post within 30 minutes of its posting...so that we can correct some typo .. so , for easily deploying an application to multiple website , { which can be done easily already .. via google apps } with different datastore for different application {which is not easily done} , { i am wondering , is there any hidden limit on how many different table you can create ? } i am doing it right now , is via detecting the host address first , and using it as a reference before i fire the wsgi application. it work nice. but , i feel security risk. so seperating database { optionally , e.g. class Contact(db.Model, multiple_class=True,ref=HTTP_HOST) kind of thing will be very usefull. doing it manually add an index to each and every table. -- i think this issue can be solve at user space with directly using core datastore api , is there anybody come up with it's solution ? .. Thanks. P.S. And yes , as full text search is not in the road map of gae , has anyone tried using amazon s3 as a full text search along with gae { i am doing it right now with help of google base , but its too open for full text search } ? -- or better ,do amazon provide full text search ? --~--~-~--~~~---~--~~ You 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: Support with AMF?
great! thanks mike, let me look that. -KBala On Mon, Feb 23, 2009 at 10:51 PM, Mike Wesner m...@konsole.net wrote: You're in luck!! the pyAMF project is exactly what you need. pyamf.org pyAMF very recently got a GAE adapter which allows it to work with db.Model based classes. The product I have been working on uses pyAMF on GAE. When we first started pyAMF was not working with GAE at all and I had to modify it a lot to even get objects back and forth, but now it not only works but even has some nice enhancements like keeping track of keys that have been get and it doesn't do extra datastore calls. Nick Joyce, a lead developer on pyAMF, has been working on the GAE adapter. With some feedback and ideas from myself it has turned out great. Good luck with your project. -Mike Wesner On Feb 23, 1:13 am, KBala kbala@gmail.com wrote: Hi, i would like to host a Adobe Flex based web application with GAE, and i would like to know that is there any feasible to adobe flex application as front end and with connection by using AMF? Eagerly waiting for your answer Thanks KBala --~--~-~--~~~---~--~~ You 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: Testing Datastore without SDK
You could write unit tests using GAEUnit (http://code.google.com/p/ gaeunit/). It uses the same in-memory data store that dev_appserver.py uses. ++Steve On Feb 23, 3:57 pm, josto joe.stolb...@gmx.de wrote: Is there a possibility to test the GAE Datastore on my PC without running the dev_appserver.py? --~--~-~--~~~---~--~~ You 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: Testing Datastore without SDK
You could write unit tests using GAEUnit (http://code.google.com/p/ gaeunit/). It uses the same datastore that dev_appserver.py uses. --~--~-~--~~~---~--~~ You 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: Excessively variable response times, regardless of serving status
thanks marzia I dont want to read too much into Nick's results above but is 30-200ms now considered to be CPU intensive? cheers brian On Feb 23, 4:20 pm, Marzia Niccolai ma...@google.com wrote: Hi, This is done on a per-request basis. -Marzia On Mon, Feb 23, 2009 at 12:14 PM, bFlood bflood...@gmail.com wrote: hi marzia when this occurs, is the temp governor set for the entire app? or just the handler that caused the high CPU warning? above, Nick said that the typical request was 30-200ms so it seems odd that it would be throttled I think this is better then the original high CPU reaction (throw exception after limit) but if it affects *all* handlers it might turn out to be far worse for apps where the majority of requests are well below the high CPU threadhold cheers brian On Feb 23, 2:54 pm, Marzia Niccolai ma...@google.com wrote: Hi, Upon some further investigation, it seems that this is the result of the new handling of CPU intensive requests, more information about which can be found here: http://code.google.com/appengine/docs/quotas.html#Request_Limits Specifically Applications that are heavily cpu-bound, on the other hand, may incur some additional latency in long-running requests in order to make room for other apps sharing the same servers. Essentially, if we observe that you have some heavily cpu-bound requests, your handler may experience additional latency. This may not always happen, and for the higher cpu request handlers, there is no way to know exactly when it may happen. -Marzia On Wed, Feb 18, 2009 at 10:21 AM, Nick Winter livel...@gmail.com wrote: We've been seeing pretty brutal response times intermittently for our app (id: skrit), which I can't figure out. Some more info: * They're clustered in time: all requests will be slow for several seconds at a time, dozens of times over a couple hours * The long periods of slowness often happen in the morning, although not always, and not every morning * Traffic doesn't appear to be related, and is low (less than 5 requests per second) * It's not instance startup costs. I'm logging when things are imported, and on a small request with no datastore interaction: -- with no startup costs, normally around 30-200ms, spikes to 1300-1600ms -- with startup costs, normally around 1300-1600ms, spikes to 4000-11500ms * It doesn't seem to be related to dynamic get latency or anything else on the serving status page. Initially, we thought it was loosely correlated, but I think those were just flukes. This happens much more often, and for much longer, than serving latency is ever high. * It happens on all requests; I've just given numbers for simplest/ most common request. As far as I can tell, this has only been happening for the past month and a half or so. Any ideas? It's as if we're just intermittently being given really slow serving. --~--~-~--~~~---~--~~ You 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] Automatic GAE login from Android
I'm trying to get my Android app to login to my GAE app and download some data. I have the name and password of the user stored in the Android app. I can't find the docs that tell me the process for my Android app to authenticate with my GAE app using my Google Accounts. Can someone show me where they are or tell me how to do what I want to do? -- Faber Fedor Linux New Jersey http://linuxnj.com faberfedor.blogspot.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: usercount
You can also make your clients send ajax hearbeats every so often. The heartbeat call would update the last_seen property. On Feb 24, 3:13 am, Brandon Thomson brandon.j.thom...@gmail.com wrote: One way is to store a lastSeen datetime property for each user in some kind of user entity in your data model and then do a query to find how many were seen in the last 10 minutes or so. I don't recommend counting active http requests since the answer will be 0 most of the time. Requests don't last longer than 25ms or so and if they do you're burning your cpu quota. On Feb 23, 10:33 pm, niklas nikla...@gmail.com wrote: Hello, how to count active users, e.g. count active http sessions can be useful. if you know it please share it. Thanks Niklas --~--~-~--~~~---~--~~ You 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-patch 1.0 released! Django admin, media generator, self-contained apps
Hi everyone, app-engine-patch 1.0 is out now! Finally, you can use almost all Django features on App Engine. You can download the sample project here: http://code.google.com/p/app-engine-patch/ What's new: * Django's admin interface * media generator (provides speed boost and better code modularity for your site) * support for writing self-contained apps * and much more! Please read the release notes for more information: http://code.google.com/p/app-engine-patch/wiki/ReleaseNotes Please donate if you like app-engine-patch: http://code.google.com/p/app-engine-patch/wiki/Donate Special: After beta6 I've rewritten the media generator, so on the dev_appserver all media files are automatically combined on-the-fly by a Django view. This way, you can change your CSS/JS code and just reload the page in your browser to see the changes take effect. Previously you had to regenerate the media files manually which was too annoying. What's really cool about the rewrite is that you can now integrate your own converter functions. For example, you could implement handlers for CleverCSS (http://sandbox.pocoo.org/clevercss/) or pyjamas (http://pyjs.org/). Bye, Waldemar Kornewald --~--~-~--~~~---~--~~ You 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: Testing Datastore without SDK
I use NoseGAE Fixture to write unit and functional (http requests) tests: http://code.google.com/p/nose-gae/ http://farmdev.com/projects/fixture/using-fixture-with-appengine.html Note issues #13 and #18 in NoseGAE though to get it working with the latest SDK. Nose Fixture make writing tests for GAE a lot of fun!. I can provide some sample code. -Mahmoud On Feb 24, 8:27 am, Steven Farley srfar...@gmail.com wrote: You could write unit tests using GAEUnit (http://code.google.com/p/ gaeunit/). It uses the same datastore that dev_appserver.py uses. --~--~-~--~~~---~--~~ You 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 engine patch / eclipse / pydev / debug : help
Nobody can help ? On Feb 23, 10:49 am, Sylvain sylvain.viv...@gmail.com wrote: Hi, I use Eclipse/Pydev and I'd like to test app engine patch with this IDE. But currently, I can't start the project. I've this message : ERROR:root:Application configuration file not found :( in C:\Outils \eclipse\eclipse3) So It doesn't find the app.yaml Here is my conf : main module : ${workspace_loc:app-engine-patch/src/manage.py} Program arguments : runserver Currently, I didn't find where is set the GAE project directory. The issue is raised here : google_appengine\google\appengine\tools\dev_appserver_main.py - main (argv) And the argv is not well initialized. But I don't know where this is called in the aep. Thank you 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] Re: Cloud Computing
Amazon Web Services is a good point for beginners. (imho) Samet On Tue, Feb 24, 2009 at 11:07 AM, SANMI ssa...@gmail.com wrote: We have an application and I would want to introduce it in Cloud Computing. We have read a lot of things about Cloud Computing and theirs advantages. I don't know if GAE is just a hosting which supports python environment or if I could get all the advantages of Cloud Computing with GAE. I'm reading all the information of the differents actors of Cloud Computing and I must choose one and introduce my application into. Anybody knows the best application?? (Microsoft Azure, Intalio, Amazon...) 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] Template Includes: setting TEMPLATE_DIRS
I've seen this referenced many times, and have probably read all of the responses. All I simply want to do is set the TEMPLATE_DIRS setting in my webapp configuration (I DO NOT -- yet -- want to run Django, I simply want to use the templates and configure them). Is there any way to do this? --~--~-~--~~~---~--~~ You 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 while uploading application on Google app engine
I am getting one error while uploading application on Google app engine.I have developed application using new Google app engine Version 1.1.9 ValueError: dictionary update sequence element #0 has length 1; 2 is required Could u please guide me whts the problem is?? --~--~-~--~~~---~--~~ You 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: Cloud Computing
The greatest advantages of AppEngine are the ease of set-up, the scalability, and the fact that your application is available throughout the infrastructure that Google has built worldwide the moment you publish. If you need a python-based environment and are OK with the limitations of AE--proprietary non-relational datastore, some python libraries not available--it's a great way to get started. There's no cost while you're building your app, and if it's not a resource hog, you might even get to run it in production mode for free for some time. But if you need finer-grain control over your environment, and you'd prefer the type of cloud system that allows you to spawn virtualized servers, then you may want to look into one of the other services. Amazon EC2 is a good one, and I've heard good things about SliceHost. Instead of a limited application environment, those services allow you to configure a virtual server which functionally is the same as a physical server, but which is running on a cloud layer in those companies' infrastructure. Personally, after years of administrating linux boxes, I'm thrilled to move what I can to systems like AppEngine. It's not the right solution for everything, though; neither are any of them. Your question about which is the best one is kind of like if you were going to build something and you asked, What's the best tool? A hammer or a saw? Depending on the job, you might need just one, just the other, or both. --BIC On Feb 24, 1:07 am, SANMI ssa...@gmail.com wrote: We have an application and I would want to introduce it in Cloud Computing. We have read a lot of things about Cloud Computing and theirs advantages. I don't know if GAE is just a hosting which supports python environment or if I could get all the advantages of Cloud Computing with GAE. I'm reading all the information of the differents actors of Cloud Computing and I must choose one and introduce my application into. Anybody knows the best application?? (Microsoft Azure, Intalio, Amazon...) 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: Problem while uploading application on Google app engine
Hi Sunita, There could be issues with your app.yaml. Could you please check if your have configured it correctly? http://code.google.com/appengine/docs/python/tools/configuration.html On Tue, Feb 24, 2009 at 3:28 AM, sunita khilare khilare...@gmail.comwrote: I am getting one error while uploading application on Google app engine.I have developed application using new Google app engine Version 1.1.9 ValueError: dictionary update sequence element #0 has length 1; 2 is required Could u please guide me whts the problem is?? -- -Jyoti www.videonym.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: Automatic GAE login from Android
Hi Faber, Here is the information on how you generically log into Google services and GAE app programatically: http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html http://stackoverflow.com/questions/101742/how-do-you-access-an-authenticated-google-app-engine-service-from-a-non-web-pyt/499124 Here is the code I wrote for Android: Log.d(TAG, Num cookies before login: + httpclient.getCookieStore ().getCookies().size()); //Setup Google.com login request parameters List NameValuePair nvps = new ArrayList NameValuePair(); nvps.add(new BasicNameValuePair(Email, username)); nvps.add(new BasicNameValuePair(Passwd, password)); nvps.add(new BasicNameValuePair(service, ah)); nvps.add(new BasicNameValuePair(source, YOUR-PROJECT-NAME)); // used by google for accounting nvps.add(new BasicNameValuePair(accountType, GOOGLE)); //using HOSTED here will do bad things for hosted accounts //Login at Google.com HttpPost httpost = new HttpPost(https:// www.google.com/accounts/ClientLogin); httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); HttpResponse response = httpclient.execute(httpost); Log.i(TAG, Google.com Login Response: + response.getStatusLine ()); //Find authkey in response body to pass to Appspot.com ByteArrayOutputStream ostream = new ByteArrayOutputStream(); response.getEntity().writeTo(ostream); String strResponse = ostream.toString(); Log.v(TAG, strResponse); StringTokenizer st = new StringTokenizer(strResponse, \n\r=); String authKey = null; while(st.hasMoreTokens()) { if(st.nextToken().equalsIgnoreCase(auth)) { authKey = st.nextToken(); Log.d(TAG, AUTH = + authKey); break; } } //Do a GET with authkey to get cookie from Appspot.com HttpGet httpget = new HttpGet(YOURAPP.APPSPOT.COM /_ah/login? auth= + authKey + continue= + URL_OF_PAGE_YOU_WANT); response = httpclient.execute(httpget) Log.i(TAG, Appspot.com Login Response: + response.getStatusLine ()); Log.d(TAG, Num cookies after login: + httpclient.getCookieStore ().getCookies().size()); Let me know if this works for you. I pulled it together from different parts of my code so I might have messed something up. For simplicity I left out the error checking. Lenza http://blog.lenza.org On Feb 24, 6:39 am, Faber Fedor faberfe...@gmail.com wrote: I'm trying to get my Android app to login to my GAE app and download some data. I have the name and password of the user stored in the Android app. I can't find the docs that tell me the process for my Android app to authenticate with my GAE app using my Google Accounts. Can someone show me where they are or tell me how to do what I want to do? -- Faber Fedor Linux New Jerseyhttp://linuxnj.com faberfedor.blogspot.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: Announce: datastore-sqlite-sync tool release.
Sounds like it would be super useful !! However, this function won't work on windows: def find_sdk(): ''' Return the base directory for the AppEngine SDK, or None if it cannot be found. @returnsString or None. ''' for path in [ '/usr/local/google_appengine' ]: if os.path.exists(path): return path You might want to let users pass in the SDK location as a parameter. Look at NoseGAE:configure, it might be useful: http://code.google.com/p/nose-gae/source/browse/trunk/nosegae.py -Mahmoud On Feb 24, 12:11 pm, David Wilson d...@botanicus.net wrote: This completely self-contained tool enables incremental synchronization of your data from Google AppEngine's Datastore to a local SQLite 3 database. It will automatically convert your model definitions into a useful SQL schema, and download the model data in parallel using the new remote_api support. http://code.google.com/p/datastore-sqlite-sync/ The tool requires very little configuration, and the result is a fully functional SQL representation of your data, ready for loading into any reporting tool you desire. It automatically tracks updates to models with DateTimeProperties that have auto_now set. I plan on adding support for a real RDBMS in the coming period, but right now this code is complete enough for me to move on to the next part of my project. Check out the issue tracker for things I plan on adding. Please file bugs! Thanks, David. -- 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] Re: Cyclic Definition Problem
Hello, Can you provide samples form your model definitions? It would make it much easier to follow what you're trying to do. On Feb 24, 12:01 pm, simpsus_science bastian.ken...@gmail.com wrote: Hallo, I read up the solution for implementing 1:n relationships by placing a ReferenceProperty on the n part and naming the collection_name the name you want to appear in the 1 part. I have a datamodel with hierarchical inheritance. For Some Element D I want to have a 1:n relationship to a more generic type (and its subclasses) A. So I have to put a ReferenceProperty to A naming D as the type beeing referenced. This doesn't work because D has not been defined when its named as a type for the reference in A. I can't put the definition of D in front of A because the superclass of D has not been defined then (or is A, to keep it simple). Is there any solution for my problem? In Java, I would declare D prior to using it in A, but define it at its appropriate place. I don't know if there is a sulotion in an interpreted language 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: Quota Exceeded
Hi Ed, This is a known issue which has effected a small number of apps. Could you email me the app id for this application? Thank you, Jeff On Feb 23, 8:53 am, Ed edgam...@gmail.com wrote: thanks, Sylvain. but I am not using memcache and am not doing updates. just reads. the message just appeared all of a sudden. On Feb 23, 1:51 am, Sylvain sylvain.viv...@gmail.com wrote: May be this bug :http://code.google.com/p/googleappengine/issues/detail?id=631 Very easy to exceed the quota with 1 entity. Or maybe another bug. On Feb 21, 3:56 am, Ed edgam...@gmail.com wrote: Hi GAE Team, I just got a message stating that my app has exceeded the storage quota. But I have not added any new data for the past two months. Just wondering why/how I exceeded the quota. Thanks. -Ed --~--~-~--~~~---~--~~ You 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: Template Includes: setting TEMPLATE_DIRS
This is what I usually use. It looks for a directory called templates relative to the current handler script. def get_template_path(template_name): Returns the path to a given template_name return os.path.join(os.path.dirname(__file__), 'templates', '%s.html' % template_name) On Feb 24, 4:59 am, Bob Matsuoka bobmat...@gmail.com wrote: I've seen this referenced many times, and have probably read all of the responses. All I simply want to do is set the TEMPLATE_DIRS setting in my webapp configuration (I DO NOT -- yet -- want to run Django, I simply want to use the templates and configure them). Is there any way to do this? --~--~-~--~~~---~--~~ You 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] Sudden change in used Stored Data Quota
Hi, Over the weekend my app's stored data usage jumped from using 1% of the stored data to 39% of the stored data. It doesn't appear that traffic levels have changed for the past few weeks so I'm not sure why I would see such a huge jump in the amount of storage used. Any ideas? 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: Cyclic Definition Problem
Don't type the ReferenceProperty. You've got to be careful though. If you have A ref'ing B and B ref'ing A, it's very easy to get stuck in a loop. (Anything that recurses over the item's properties, like a for loop or the Django debug page, will implicitly get the entity instead of the key for your ReferenceProperty, causing an infinte loop). --~--~-~--~~~---~--~~ You 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: Automatic GAE login from Android
Thanks! I just finished getting my Android app to download the public data on my GAE app so your code will come in very handy! On Tue, Feb 24, 2009 at 11:54 AM, lenza le...@lenza.org wrote: Hi Faber, Here is the information on how you generically log into Google services and GAE app programatically: snip -- Faber Fedor Linux New Jersey http://linuxnj.com faberfedor.blogspot.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: Grouping and counting in GAE... advice needed
On Feb 24, 2:29 am, Bill billk...@gmail.com wrote: This is a brain dump (LONG) as I work through this problem. Hope it We could use an equality filter that pretty much removes all entities with last_vote_time more than an hour ago. One solution would be to add a StringListProperty, call it last_vote_hours, that contains strings corresponding to the last vote's hour in 00-23 format and its hour + 1. So a vote at 7:45 pm would store ['19', '20] in last_vote_hours. Back to our query at 8:38 pm: q = URLModel.gql('WHERE last_vote_hours = '20' ORDER by votesum_40_min DESC') urls = q.fetch(...) To avoid past days from getting into results, the last_vote_hours would have a full date stamp + the hour, something like 2009-02-23 19 and 2009-02-23 20. Any alternatives or questions? --~--~-~--~~~---~--~~ You 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] Connect to remote FTP
Is there anyway to connect to FTP with the app engine. I would like to upload a few files to a remote FTP server. I can't seem to get ftplib to 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: Sudden change in used Stored Data Quota
have you seen this: http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-free-quotas.html (just a guess) On 24/02/2009, Josh Cronemeyer joshuacroneme...@gmail.com wrote: Hi, Over the weekend my app's stored data usage jumped from using 1% of the stored data to 39% of the stored data. It doesn't appear that traffic levels have changed for the past few weeks so I'm not sure why I would see such a huge jump in the amount of storage used. Any ideas? Thanks. -- Barry - www.nearby.org.uk - www.geograph.org.uk - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: usercount
Thanks There's a django-tracking project saying it has the mentioned function http://code.google.com/p/django-tracking/ It probably only works with the django request handler and not the pure gae webapp. Regards, Niklas On Feb 24, 3:53 pm, Mahmoud mahmoud.ar...@gmail.com wrote: You can also make your clients send ajax hearbeats every so often. The heartbeat call would update the last_seen property. On Feb 24, 3:13 am, Brandon Thomson brandon.j.thom...@gmail.com wrote: One way is to store a lastSeen datetime property for each user in some kind of user entity in your data model and then do a query to find how many were seen in the last 10 minutes or so. I don't recommend counting active http requests since the answer will be 0 most of the time. Requests don't last longer than 25ms or so and if they do you're burning your cpu quota. On Feb 23, 10:33 pm, niklas nikla...@gmail.com wrote: Hello, how to count active users, e.g. count active http sessions can be useful. if you know it please share it. Thanks Niklas --~--~-~--~~~---~--~~ You 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: Connect to remote FTP
On Feb 24, 1:29 pm, SHS_WS shswebst...@gmail.com wrote: Is there anyway to connect to FTP with the app engine. I would like to upload a few files to a remote FTP server. I can't seem to get ftplib to work. No; you cannot open any socket connects except by using the urlfetch API to ports 80 or 443. --~--~-~--~~~---~--~~ You 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: Testing Datastore without SDK
Thanks for your answers. Perhaps my question was misunderstanding. I only want to get familiar with the Datastore/GQL. Therefore I am searching for a possibility to play with the Datastore/GQL simply in a python shell/debugger without Webserver/Brower . --~--~-~--~~~---~--~~ You 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: website not responding
Hi, If you exceed datastore quota, you won't stop serving, but won't be able to modify any data in the datastore. Today, however, we launched the ability to pay for additional quota, as well as upped the new free quota to 1GB due to the new datastore accounting. Details here: http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-free-quotas.html -Marzia On Mon, Feb 23, 2009 at 8:46 PM, Toney amei...@gmail.com wrote: Hi - If I go over my storage quota will the application stop responding to web requests? I'm not sure how it went to .36 to .50 in a day, never the less I'm deleting stuff to reduce the size. --~--~-~--~~~---~--~~ You 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: Excessively variable response times, regardless of serving status
Hi, 20ms is not considered CPU intensive, but once you get up in to the hundreds, it is. -Marzia On Tue, Feb 24, 2009 at 5:43 AM, bFlood bflood...@gmail.com wrote: thanks marzia I dont want to read too much into Nick's results above but is 30-200ms now considered to be CPU intensive? cheers brian On Feb 23, 4:20 pm, Marzia Niccolai ma...@google.com wrote: Hi, This is done on a per-request basis. -Marzia On Mon, Feb 23, 2009 at 12:14 PM, bFlood bflood...@gmail.com wrote: hi marzia when this occurs, is the temp governor set for the entire app? or just the handler that caused the high CPU warning? above, Nick said that the typical request was 30-200ms so it seems odd that it would be throttled I think this is better then the original high CPU reaction (throw exception after limit) but if it affects *all* handlers it might turn out to be far worse for apps where the majority of requests are well below the high CPU threadhold cheers brian On Feb 23, 2:54 pm, Marzia Niccolai ma...@google.com wrote: Hi, Upon some further investigation, it seems that this is the result of the new handling of CPU intensive requests, more information about which can be found here: http://code.google.com/appengine/docs/quotas.html#Request_Limits Specifically Applications that are heavily cpu-bound, on the other hand, may incur some additional latency in long-running requests in order to make room for other apps sharing the same servers. Essentially, if we observe that you have some heavily cpu-bound requests, your handler may experience additional latency. This may not always happen, and for the higher cpu request handlers, there is no way to know exactly when it may happen. -Marzia On Wed, Feb 18, 2009 at 10:21 AM, Nick Winter livel...@gmail.com wrote: We've been seeing pretty brutal response times intermittently for our app (id: skrit), which I can't figure out. Some more info: * They're clustered in time: all requests will be slow for several seconds at a time, dozens of times over a couple hours * The long periods of slowness often happen in the morning, although not always, and not every morning * Traffic doesn't appear to be related, and is low (less than 5 requests per second) * It's not instance startup costs. I'm logging when things are imported, and on a small request with no datastore interaction: -- with no startup costs, normally around 30-200ms, spikes to 1300-1600ms -- with startup costs, normally around 1300-1600ms, spikes to 4000-11500ms * It doesn't seem to be related to dynamic get latency or anything else on the serving status page. Initially, we thought it was loosely correlated, but I think those were just flukes. This happens much more often, and for much longer, than serving latency is ever high. * It happens on all requests; I've just given numbers for simplest/ most common request. As far as I can tell, this has only been happening for the past month and a half or so. Any ideas? It's as if we're just intermittently being given really slow serving. --~--~-~--~~~---~--~~ You 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: Imap and Google App engine
how about squirrel mail? http://www.squirrelmail.org/about/ it used to be the nuts! On Jan 24, 8:16 pm, cincinnatus petercoo...@pgctesting001.com wrote: I am working on IMAP Fetcher right now. From a Premiere Edition account, you can reset the IMAP server connection port from 143 to 80, and point IMAP Fetcher to your App Engine appspot.com subdomain. I am trying this right now, but really could use a canned IMAP, bare bones server. I could slip it in and use it as a sniffer for the protocol IMAP Fetcher wants via GAE. Know of any? On Dec 21 2008, 10:25 pm, govno3...@gmail.com govno3...@gmail.com wrote: I'm doing some evaluation whether Google Appengine is appropriate for portion of project. However, I was unable to make imaplib working on Google App Engine. Is it possible to runIMAPon GAE? Also I was unable to make web.py working on - are there any pointers whether web.py works on Google Apple Engine? --~--~-~--~~~---~--~~ You 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: Cannot Properly Catch DeadlineExceededError
Hi, I really am out of ideas since it works perfectly for me (see http://yo.appspot.com/?sleep=2 vs http://yo.appspot.com/?sleep=35) where I used your exact handler information. The issue is that, for some reason, the handler continues to execute too long after the DeadlineExeededError is thrown. So when you see the Google Page this is the expected behavior. But if all you do is render that simple text after catching the error, it's strange that you exceed the second deadline. Are you sure there are no indenting or other issues that may cause your script to execute something after self.response.out.write(This is the normal result message)? Also, it's worth mentioning that the dev_appserver does strictly enforce the request limit times as the production system does, so it may not be something you notice on the dev_appserver when trying to test. -Marzia On Tue, Feb 24, 2009 at 2:07 AM, lenza le...@aznel.trickip.net wrote: Thanks for the response Marzia. I tried again with the return statement and I am still having the same issue. The code I pasted below is the entirety of my handler, so there is nothing in it that would cause a timeout after the initial DeadlineExceededError. I also checked that I am importing the correct DeadlineExceededError, and I can tell the error is being caught because I get the Ran out of time. message in my logs. Any other ideas? It is also interesting to note that for most exceptions I get a stack trace of the error. In this case I am getting a Google branded page titled 502 Server Error that says: Google Error Server Error The server encountered a temporary error and could not complete your request. Please try again in 30 seconds. What is this page? On Feb 23, 10:53 am, Marzia Niccolai ma...@google.com wrote: Hi Lenza, This works for me. So I think it might be one of two things. First, are you importing the correct DeadlineExceededError? You need to make sure to have this import: from google.appengine.runtime import DeadlineExceededError If you don't, sleeping for 30 seconds will raise this error, but it won't be caught. The other thing is that you need to explicitly return your handler after you print the error message or else the handler will keep executing, and that may be the cause of the error (not returning the message quick enough). So, modify the exception with: except DeadlineExceededError: logging.error(Ran out of time.) self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) return -Marzia On Sun, Feb 22, 2009 at 9:55 PM, lenza le...@aznel.trickip.net wrote: I am attempting to customize my application response to a DeadlineExceededError. I am able to catch the exception, but my custom response is not getting through. Instead I get the default 502 Server Server Error page even after clearing the response and writing a custom one. It seems as if the GAE is allowing time for cleanup, but ignoring anything written to the response object. Is anyone doing this successfully? More details... The GAE documentation states that you can customize your applications response to a DeadlineExceededError with the following example code (seehttp://code.google.com/appengine/docs/python/runtime.html): class MainPage(webapp.RequestHandler): def get(self): try: # Do stuff... except DeadlineExceededError: self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) I have the following handler for /test on my App: class TestPage(webapp.RequestHandle): def get(self): try: sleeptime = int(self.request.get('sleep')) if(sleeptime == 0): logging.info(Programatically raising DeadlineExceededError) raise DeadlineExceededError else: time.sleep(sleeptime) except DeadlineExceededError: logging.error(Ran out of time.) self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) logging.info(About to write normal result message) self.response.out.write(This is the normal result message) When I request /test?sleep=30 I get the 502 Server Server Error page and the in my logs: (E) 02-22 09:31PM 05.652 Ran out of time. (I) 02-22 09:31PM 05.653 About to write normal result message When I request /test?sleep=0 I get the expected This operation could not be completed in time... message page. Anyone know what's up with this? Thanks for any help! -Lenza --~--~-~--~~~---~--~~ You received this message
[google-appengine] Re: Sudden change in used Stored Data Quota
Marzia and Barry, Thanks for the info. That answers my question. If I recall there was a way to ask google to simply increase the free quota for your account, but I can't seem to find information on how to do that. Do you guys know? Thanks. On Tue, Feb 24, 2009 at 3:00 PM, Marzia Niccolai ma...@google.com wrote: Hi, In order to launch billing, we changed our accounting methods to more accurately count the real amount of data stored in the datastore. This was the cause of the increases some people saw in their quota. -Marzia On Tue, Feb 24, 2009 at 12:48 PM, Barry Hunter barrybhun...@googlemail.com wrote: have you seen this: http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-free-quotas.html (just a guess) On 24/02/2009, Josh Cronemeyer joshuacroneme...@gmail.com wrote: Hi, Over the weekend my app's stored data usage jumped from using 1% of the stored data to 39% of the stored data. It doesn't appear that traffic levels have changed for the past few weeks so I'm not sure why I would see such a huge jump in the amount of storage used. Any ideas? Thanks. -- Barry - www.nearby.org.uk - www.geograph.org.uk - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Significant quota changes. . .
CPU current quota - 46 hours new quota - 1 hour % change - 98% reduction I believe the new number will be 6.5 CPU hours: http://code.google.com/appengine/docs/quotas.html#Free_Changes --~--~-~--~~~---~--~~ You 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] Clarification of storage pricing requested
There seems to be an inconsistency in the cited storage pricing. The blog post says $0.15/GB/mo, but the docs and my app dashboard say $0.005/GB/mo, which is a huge drop in pricing if correct. Which one is correct? And congratulations to the entire App Engine team for rolling out this much requested feature. -Bill --~--~-~--~~~---~--~~ You 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] Annoucement: you may now purchase additional computing resources
Hi all, We've just announced that it is now possible to purchase additional quota for your application. To borrow from our blog post, We're psyched to announce that developers can now purchase additional computing resources on App Engine, enabling apps to scale beyond our free quotas. This has been our most requested improvement to App Engine and we're thrilled to deliver it, as promised. You can now set a daily budget for your app that represents the maximum amount you're willing to pay for computing resources each day. You allocate this budget across CPU, bandwidth, storage, and email, and you pay for only what your app consumes beyond the free thresholds... More details are available at the following locations: Blog post: http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-free-quotas.html Updated quota documentation page: http://code.google.com/appengine/docs/quotas.html Documentation on purchasing additional quota: http://code.google.com/appengine/docs/billing.html Billing FAQs: http://code.google.com/appengine/kb/billing.html Questions? Comments? :-) Happy coding, Jeff --~--~-~--~~~---~--~~ You 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: Annoucement: you may now purchase additional computing resources
Congratulations to the entire App Engine team for rolling out this much requested feature. There seems to be an inconsistency in the cited storage pricing. The blog post says $0.15/GB/mo, but the docs and my app dashboard say $0.005/GB/mo, which is a huge drop in pricing if correct. Which one is correct? Regards, Bill On Feb 24, 1:30 pm, Jeff S j...@google.com wrote: Hi all, We've just announced that it is now possible to purchase additional quota for your application. To borrow from our blog post, We're psyched to announce that developers can now purchase additional computing resources on App Engine, enabling apps to scale beyond our free quotas. This has been our most requested improvement to App Engine and we're thrilled to deliver it, as promised. You can now set a daily budget for your app that represents the maximum amount you're willing to pay for computing resources each day. You allocate this budget across CPU, bandwidth, storage, and email, and you pay for only what your app consumes beyond the free thresholds... More details are available at the following locations: Blog post:http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-... Updated quota documentation page:http://code.google.com/appengine/docs/quotas.html Documentation on purchasing additional quota:http://code.google.com/appengine/docs/billing.html Billing FAQs:http://code.google.com/appengine/kb/billing.html Questions? Comments? :-) Happy coding, Jeff --~--~-~--~~~---~--~~ You 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 storage pricing requested
Hi Bill, On Tue, Feb 24, 2009 at 1:28 PM, Bill billk...@gmail.com wrote: There seems to be an inconsistency in the cited storage pricing. The blog post says $0.15/GB/mo, but the docs and my app dashboard say $0.005/GB/mo, which is a huge drop in pricing if correct. Which one is correct? Were do you see $0.005/GB/mo? On the settings page and Dashboard we're showing the *daily* cost per GB, since that is how we compute actual cost. 30 * 0.005 = $0.15GB/day. And congratulations to the entire App Engine team for rolling out this much requested feature. Thanks! -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: Sudden change in used Stored Data Quota
With the release of billing, they err, want you to pay if you want more? (just a guess) ;p Anyway the link is still on the FAQ: http://code.google.com/appengine/kb/general.html#quota On 24/02/2009, Josh Cronemeyer joshuacroneme...@gmail.com wrote: Marzia and Barry, Thanks for the info. That answers my question. If I recall there was a way to ask google to simply increase the free quota for your account, but I can't seem to find information on how to do that. Do you guys know? Thanks. On Tue, Feb 24, 2009 at 3:00 PM, Marzia Niccolai ma...@google.com wrote: Hi, In order to launch billing, we changed our accounting methods to more accurately count the real amount of data stored in the datastore. This was the cause of the increases some people saw in their quota. -Marzia On Tue, Feb 24, 2009 at 12:48 PM, Barry Hunter barrybhun...@googlemail.com wrote: have you seen this: http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-free-quotas.html (just a guess) On 24/02/2009, Josh Cronemeyer joshuacroneme...@gmail.com wrote: Hi, Over the weekend my app's stored data usage jumped from using 1% of the stored data to 39% of the stored data. It doesn't appear that traffic levels have changed for the past few weeks so I'm not sure why I would see such a huge jump in the amount of storage used. Any ideas? Thanks. -- Barry - www.nearby.org.uk - www.geograph.org.uk - -- 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: Annoucement: you may now purchase additional computing resources
Hi Bill, I seems Brett replied to your initial post ( http://groups.google.com/group/google-appengine/browse_thread/thread/07365a8c5bcb2c0e ) to quote: Were do you see $0.005/GB/mo? On the settings page and Dashboard we're showing the *daily* cost per GB, since that is how we compute actual cost. 30 * 0.005 = $0.15GB/day. And congratulations to the entire App Engine team for rolling out this much requested feature. Thanks! -Brett On Feb 24, 1:33 pm, Bill billk...@gmail.com wrote: Congratulations to the entire App Engine team for rolling out this much requested feature. There seems to be an inconsistency in the cited storage pricing. The blog post says $0.15/GB/mo, but the docs and my app dashboard say $0.005/GB/mo, which is a huge drop in pricing if correct. Which one is correct? Regards, Bill On Feb 24, 1:30 pm, Jeff S j...@google.com wrote: Hi all, We've just announced that it is now possible to purchase additional quota for your application. To borrow from our blog post, We're psyched to announce that developers can now purchase additional computing resources on App Engine, enabling apps to scale beyond our free quotas. This has been our most requested improvement to App Engine and we're thrilled to deliver it, as promised. You can now set a daily budget for your app that represents the maximum amount you're willing to pay for computing resources each day. You allocate this budget across CPU, bandwidth, storage, and email, and you pay for only what your app consumes beyond the free thresholds... More details are available at the following locations: Blog post:http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-... Updated quota documentation page:http://code.google.com/appengine/docs/quotas.html Documentation on purchasing additional quota:http://code.google.com/appengine/docs/billing.html Billing FAQs:http://code.google.com/appengine/kb/billing.html Questions? Comments? :-) Happy coding, Jeff --~--~-~--~~~---~--~~ You 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: Annoucement: you may now purchase additional computing resources
On Feb 24, 1:44 pm, Jeff S j...@google.com wrote: Were do you see $0.005/GB/mo? On the settings page and Dashboard we're showing the *daily* cost per GB, since that is how we compute actual cost. 30 * 0.005 = $0.15GB/day. I think the time unit needs to be clarified. In the billing doc (http://code.google.com/appengine/docs/billing.html), you have: ResourceUnit Unit cost Stored Data gigabytes per month $0.005 It's confusing, at least to me, that we're talking about $0.15/GB/mo. In the dashboard, it would be helpful to see $0.005/GByte/day. --~--~-~--~~~---~--~~ You 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: Excessively variable response times, regardless of serving status
well that seems like a change from previous posts. I thought people generally quoted 200-300ms as a safe place to be for most of your requests On Feb 24, 4:13 pm, Marzia Niccolai ma...@google.com wrote: Hi, 20ms is not considered CPU intensive, but once you get up in to the hundreds, it is. -Marzia On Tue, Feb 24, 2009 at 5:43 AM, bFlood bflood...@gmail.com wrote: thanks marzia I dont want to read too much into Nick's results above but is 30-200ms now considered to be CPU intensive? cheers brian On Feb 23, 4:20 pm, Marzia Niccolai ma...@google.com wrote: Hi, This is done on a per-request basis. -Marzia On Mon, Feb 23, 2009 at 12:14 PM, bFlood bflood...@gmail.com wrote: hi marzia when this occurs, is the temp governor set for the entire app? or just the handler that caused the high CPU warning? above, Nick said that the typical request was 30-200ms so it seems odd that it would be throttled I think this is better then the original high CPU reaction (throw exception after limit) but if it affects *all* handlers it might turn out to be far worse for apps where the majority of requests are well below the high CPU threadhold cheers brian On Feb 23, 2:54 pm, Marzia Niccolai ma...@google.com wrote: Hi, Upon some further investigation, it seems that this is the result of the new handling of CPU intensive requests, more information about which can be found here: http://code.google.com/appengine/docs/quotas.html#Request_Limits Specifically Applications that are heavily cpu-bound, on the other hand, may incur some additional latency in long-running requests in order to make room for other apps sharing the same servers. Essentially, if we observe that you have some heavily cpu-bound requests, your handler may experience additional latency. This may not always happen, and for the higher cpu request handlers, there is no way to know exactly when it may happen. -Marzia On Wed, Feb 18, 2009 at 10:21 AM, Nick Winter livel...@gmail.com wrote: We've been seeing pretty brutal response times intermittently for our app (id: skrit), which I can't figure out. Some more info: * They're clustered in time: all requests will be slow for several seconds at a time, dozens of times over a couple hours * The long periods of slowness often happen in the morning, although not always, and not every morning * Traffic doesn't appear to be related, and is low (less than 5 requests per second) * It's not instance startup costs. I'm logging when things are imported, and on a small request with no datastore interaction: -- with no startup costs, normally around 30-200ms, spikes to 1300-1600ms -- with startup costs, normally around 1300-1600ms, spikes to 4000-11500ms * It doesn't seem to be related to dynamic get latency or anything else on the serving status page. Initially, we thought it was loosely correlated, but I think those were just flukes. This happens much more often, and for much longer, than serving latency is ever high. * It happens on all requests; I've just given numbers for simplest/ most common request. As far as I can tell, this has only been happening for the past month and a half or so. Any ideas? It's as if we're just intermittently being given really slow serving.- 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: Cannot Properly Catch DeadlineExceededError
Thanks so much for testing this out Marzia! It is really awesome how super helpful you are. You have helped me get one step closer to a solution... I have my app setup to use my own domain. When I go directly to my appspot.com address it works: http://lenzasapp2.appspot.com/test?sleep=35 but going through my domain fails: http://apartmenthunter.lenza.org/test?sleep=35 This give you any ideas? Thanks again for your help! -Lenza On Feb 24, 1:20 pm, Marzia Niccolai ma...@google.com wrote: Hi, I really am out of ideas since it works perfectly for me (seehttp://yo.appspot.com/?sleep=2vshttp://yo.appspot.com/?sleep=35) where I used your exact handler information. The issue is that, for some reason, the handler continues to execute too long after the DeadlineExeededError is thrown. So when you see the Google Page this is the expected behavior. But if all you do is render that simple text after catching the error, it's strange that you exceed the second deadline. Are you sure there are no indenting or other issues that may cause your script to execute something after self.response.out.write(This is the normal result message)? Also, it's worth mentioning that the dev_appserver does strictly enforce the request limit times as the production system does, so it may not be something you notice on the dev_appserver when trying to test. -Marzia On Tue, Feb 24, 2009 at 2:07 AM, lenza le...@aznel.trickip.net wrote: Thanks for the response Marzia. I tried again with the return statement and I am still having the same issue. The code I pasted below is the entirety of my handler, so there is nothing in it that would cause a timeout after the initial DeadlineExceededError. I also checked that I am importing the correct DeadlineExceededError, and I can tell the error is being caught because I get the Ran out of time. message in my logs. Any other ideas? It is also interesting to note that for most exceptions I get a stack trace of the error. In this case I am getting a Google branded page titled 502 Server Error that says: Google Error Server Error The server encountered a temporary error and could not complete your request. Please try again in 30 seconds. What is this page? On Feb 23, 10:53 am, Marzia Niccolai ma...@google.com wrote: Hi Lenza, This works for me. So I think it might be one of two things. First, are you importing the correct DeadlineExceededError? You need to make sure to have this import: from google.appengine.runtime import DeadlineExceededError If you don't, sleeping for 30 seconds will raise this error, but it won't be caught. The other thing is that you need to explicitly return your handler after you print the error message or else the handler will keep executing, and that may be the cause of the error (not returning the message quick enough). So, modify the exception with: except DeadlineExceededError: logging.error(Ran out of time.) self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) return -Marzia On Sun, Feb 22, 2009 at 9:55 PM, lenza le...@aznel.trickip.net wrote: I am attempting to customize my application response to a DeadlineExceededError. I am able to catch the exception, but my custom response is not getting through. Instead I get the default 502 Server Server Error page even after clearing the response and writing a custom one. It seems as if the GAE is allowing time for cleanup, but ignoring anything written to the response object. Is anyone doing this successfully? More details... The GAE documentation states that you can customize your applications response to a DeadlineExceededError with the following example code (seehttp://code.google.com/appengine/docs/python/runtime.html): class MainPage(webapp.RequestHandler): def get(self): try: # Do stuff... except DeadlineExceededError: self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) I have the following handler for /test on my App: class TestPage(webapp.RequestHandle): def get(self): try: sleeptime = int(self.request.get('sleep')) if(sleeptime == 0): logging.info(Programatically raising DeadlineExceededError) raise DeadlineExceededError else: time.sleep(sleeptime) except DeadlineExceededError: logging.error(Ran out of time.) self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) logging.info(About to
[google-appengine] Re: Testing Datastore without SDK
http://shell.appspot.com/ On 24/02/2009, josto joe.stolb...@gmx.de wrote: Thanks for your answers. Perhaps my question was misunderstanding. I only want to get familiar with the Datastore/GQL. Therefore I am searching for a possibility to play with the Datastore/GQL simply in a python shell/debugger without Webserver/Brower . -- 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: Weird behavior of Django - Cycle
I'm seeing exactly the same thing. Has anyone found a work-around? On Jan 3, 7:36 pm, MajorProgamming sefira...@gmail.com wrote: I have this code in one of my HTML Templates: {%if forloop.counter0|divisibleby:3%}/trtr class={%cycle even,odd%}{%endif%} [snipped out] For some reason every time I reload the page, thecyclebehaves differently. It's almost like the system keeps the last cycling in memory - could there be some sort of leakage? What am I doing 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: Testing Datastore without SDK
In addition to Barry's suggestion, you could import remote_api and other required SDK modules in a python shell and play with the datastore that way. I've written a little about remote_api setup: http://billkatz.com/2009/2/Remote-API-Hello-World On Feb 24, 2:10 pm, Barry Hunter barrybhun...@googlemail.com wrote: http://shell.appspot.com/ On 24/02/2009, josto joe.stolb...@gmx.de wrote: Thanks for your answers. Perhaps my question was misunderstanding. I only want to get familiar with the Datastore/GQL. Therefore I am searching for a possibility to play with the Datastore/GQL simply in a python shell/debugger without Webserver/Brower . -- 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: Cannot Properly Catch DeadlineExceededError
AH! There definitely is a problem here with the custom domain, for some reason it's throwing a 'Bad Gateway' error when I grab the headers. I don't know why yet, but I'll keep you posted -Marzia On Tue, Feb 24, 2009 at 2:03 PM, lenza le...@aznel.trickip.net wrote: Thanks so much for testing this out Marzia! It is really awesome how super helpful you are. You have helped me get one step closer to a solution... I have my app setup to use my own domain. When I go directly to my appspot.com address it works: http://lenzasapp2.appspot.com/test?sleep=35 but going through my domain fails: http://apartmenthunter.lenza.org/test?sleep=35 This give you any ideas? Thanks again for your help! -Lenza On Feb 24, 1:20 pm, Marzia Niccolai ma...@google.com wrote: Hi, I really am out of ideas since it works perfectly for me (seehttp:// yo.appspot.com/?sleep=2vshttp://yo.appspot.com/?sleep=35) where I used your exact handler information. The issue is that, for some reason, the handler continues to execute too long after the DeadlineExeededError is thrown. So when you see the Google Page this is the expected behavior. But if all you do is render that simple text after catching the error, it's strange that you exceed the second deadline. Are you sure there are no indenting or other issues that may cause your script to execute something after self.response.out.write(This is the normal result message)? Also, it's worth mentioning that the dev_appserver does strictly enforce the request limit times as the production system does, so it may not be something you notice on the dev_appserver when trying to test. -Marzia On Tue, Feb 24, 2009 at 2:07 AM, lenza le...@aznel.trickip.net wrote: Thanks for the response Marzia. I tried again with the return statement and I am still having the same issue. The code I pasted below is the entirety of my handler, so there is nothing in it that would cause a timeout after the initial DeadlineExceededError. I also checked that I am importing the correct DeadlineExceededError, and I can tell the error is being caught because I get the Ran out of time. message in my logs. Any other ideas? It is also interesting to note that for most exceptions I get a stack trace of the error. In this case I am getting a Google branded page titled 502 Server Error that says: Google Error Server Error The server encountered a temporary error and could not complete your request. Please try again in 30 seconds. What is this page? On Feb 23, 10:53 am, Marzia Niccolai ma...@google.com wrote: Hi Lenza, This works for me. So I think it might be one of two things. First, are you importing the correct DeadlineExceededError? You need to make sure to have this import: from google.appengine.runtime import DeadlineExceededError If you don't, sleeping for 30 seconds will raise this error, but it won't be caught. The other thing is that you need to explicitly return your handler after you print the error message or else the handler will keep executing, and that may be the cause of the error (not returning the message quick enough). So, modify the exception with: except DeadlineExceededError: logging.error(Ran out of time.) self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) return -Marzia On Sun, Feb 22, 2009 at 9:55 PM, lenza le...@aznel.trickip.net wrote: I am attempting to customize my application response to a DeadlineExceededError. I am able to catch the exception, but my custom response is not getting through. Instead I get the default 502 Server Server Error page even after clearing the response and writing a custom one. It seems as if the GAE is allowing time for cleanup, but ignoring anything written to the response object. Is anyone doing this successfully? More details... The GAE documentation states that you can customize your applications response to a DeadlineExceededError with the following example code (seehttp://code.google.com/appengine/docs/python/runtime.html): class MainPage(webapp.RequestHandler): def get(self): try: # Do stuff... except DeadlineExceededError: self.response.clear() self.response.set_status(500) self.response.out.write(This operation could not be completed in time...) I have the following handler for /test on my App: class TestPage(webapp.RequestHandle): def get(self): try: sleeptime = int(self.request.get('sleep')) if(sleeptime == 0): logging.info(Programatically raising DeadlineExceededError)
[google-appengine] Re: Annoucement: you may now purchase additional computing resources
On Tue, Feb 24, 2009 at 1:53 PM, Bill billk...@gmail.com wrote: On Feb 24, 1:44 pm, Jeff S j...@google.com wrote: Were do you see $0.005/GB/mo? On the settings page and Dashboard we're showing the *daily* cost per GB, since that is how we compute actual cost. 30 * 0.005 = $0.15GB/day. I think the time unit needs to be clarified. In the billing doc (http://code.google.com/appengine/docs/billing.html), you have: Resource Unit Unit cost Stored Data gigabytes per month $0.005 It's confusing, at least to me, that we're talking about $0.15/GB/mo. In the dashboard, it would be helpful to see $0.005/GByte/day. Ah! I see it now. Good catch. We're fixing this. Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Clarification of storage pricing requested
I hope that 30 * 0.005 = $0.15GB/day. should have been 30 * 0.005 = $0.15GB/month. On Feb 24, 1:34 pm, Brett Slatkin brett-appeng...@google.com wrote: Hi Bill, On Tue, Feb 24, 2009 at 1:28 PM, Bill billk...@gmail.com wrote: There seems to be an inconsistency in the cited storage pricing. The blog post says $0.15/GB/mo, but the docs and my app dashboard say $0.005/GB/mo, which is a huge drop in pricing if correct. Which one is correct? Were do you see $0.005/GB/mo? On the settings page and Dashboard we're showing the *daily* cost per GB, since that is how we compute actual cost. 30 * 0.005 = $0.15GB/day. And congratulations to the entire App Engine team for rolling out this much requested feature. Thanks! -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: Clarification of storage pricing requested
On Tue, Feb 24, 2009 at 2:24 PM, Andy Freeman ana...@earthlink.net wrote: I hope that 30 * 0.005 = $0.15GB/day. should have been 30 * 0.005 = $0.15GB/month. Wow yeah, sorry about that. 30 days * $0.005 per Gigabyte per day = $0.15 per Gigabyte per month We're updating the docs to remove the confusing here, and I'm going to go get another cup of coffee. =^) -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: Clarification of storage pricing requested
On Tue, Feb 24, 2009 at 2:27 PM, Brett Slatkin brett-appeng...@google.com wrote: On Tue, Feb 24, 2009 at 2:24 PM, Andy Freeman ana...@earthlink.net wrote: I hope that 30 * 0.005 = $0.15GB/day. should have been 30 * 0.005 = $0.15GB/month. Wow yeah, sorry about that. 30 days * $0.005 per Gigabyte per day = $0.15 per Gigabyte per month We're updating the docs to remove the confusing here, and I'm going to go get another cup of coffee. =^) s/confusing/confusion/ Clearly I need a boost. --~--~-~--~~~---~--~~ You 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: Annoucement: you may now purchase additional computing resources
Fantastic! While personally I hope not to have to shell out too much coin, I'll contribute my $0.02 now and then. ;-) I can quite sincerely thank Google for teaching this old dog new tricks. I have an application (Wine by the Bar) that runs on the Android phone and is backed by GAE. Throw in Google maps, products, picasa, blogspot, youtube and there are no boundaries to what is possible. Here's to hoping that I never have to play in anyone else's cloud! Thanks Google! On Feb 24, 4:30 pm, Jeff S j...@google.com wrote: Hi all, We've just announced that it is now possible to purchase additional quota for your application. To borrow from our blog post, We're psyched to announce that developers can now purchase additional computing resources on App Engine, enabling apps to scale beyond our free quotas. This has been our most requested improvement to App Engine and we're thrilled to deliver it, as promised. You can now set a daily budget for your app that represents the maximum amount you're willing to pay for computing resources each day. You allocate this budget across CPU, bandwidth, storage, and email, and you pay for only what your app consumes beyond the free thresholds... More details are available at the following locations: Blog post:http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-... Updated quota documentation page:http://code.google.com/appengine/docs/quotas.html Documentation on purchasing additional quota:http://code.google.com/appengine/docs/billing.html Billing FAQs:http://code.google.com/appengine/kb/billing.html Questions? Comments? :-) Happy coding, Jeff --~--~-~--~~~---~--~~ You 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: Significant quota changes. . .
Has anyone seen a cost comparison between Google and the other providers based on these new changes? --~--~-~--~~~---~--~~ You 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: Counting more than 1000 results.
There is apparently a bug in how the Cookbook handles characters. I rewrote the recipe to only use characters, but, I consider that to be a problem for posting code. In any case, the recipe should be updated. Hopefully, it will be useful to some. On Feb 24, 5:35 pm, djidjadji djidja...@gmail.com wrote: Hi Bryan, http://appengine-cookbook.appspot.com/recipe/infinite-item-fetch-gene... Something is wrong with the layout of the recipe. Some code lines are missing. --~--~-~--~~~---~--~~ You 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: Accessing REST APIs that require User-Agent Headers
On Wed, Feb 25, 2009 at 10:01 AM, deji.omis...@gmail.com deji.omis...@gmail.com wrote: Since GAE disallows modifying the user-agent header in the URL fetch libraries how can one access a REST api such as Digg's which explicitly requires this header be sent? Does GAE not send one at all by default? I have tried and keep getting an error from Dig saying that User-agent is required I think Digg is lying to to do. App Engine sets the User-Agent header of urlfetch requests to something like AppEngine-Google; (+http://code.google.com/appengine). Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Annoucement: you may now purchase additional computing resources
I'm still a bit confusedcan we now upload files larger than 1MB or can we just upload more than the 1 GB total storage quota. For example, can my blob property be the equivalent of a 50MB video file? On Feb 24, 5:38 pm, Tom M. thomasfmc...@gmail.com wrote: Fantastic! While personally I hope not to have to shell out too much coin, I'll contribute my $0.02 now and then. ;-) I can quite sincerely thank Google for teaching this old dog new tricks. I have an application (Wine by the Bar) that runs on the Android phone and is backed by GAE. Throw in Google maps, products, picasa, blogspot, youtube and there are no boundaries to what is possible. Here's to hoping that I never have to play in anyone else's cloud! Thanks Google! On Feb 24, 4:30 pm, Jeff S j...@google.com wrote: Hi all, We've just announced that it is now possible to purchase additional quota for your application. To borrow from our blog post, We're psyched to announce that developers can now purchase additional computing resources on App Engine, enabling apps to scale beyond our free quotas. This has been our most requested improvement to App Engine and we're thrilled to deliver it, as promised. You can now set a daily budget for your app that represents the maximum amount you're willing to pay for computing resources each day. You allocate this budget across CPU, bandwidth, storage, and email, and you pay for only what your app consumes beyond the free thresholds... More details are available at the following locations: Blog post:http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-... Updated quota documentation page:http://code.google.com/appengine/docs/quotas.html Documentation on purchasing additional quota:http://code.google.com/appengine/docs/billing.html Billing FAQs:http://code.google.com/appengine/kb/billing.html Questions? Comments? :-) Happy coding, Jeff --~--~-~--~~~---~--~~ You 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: Annoucement: you may now purchase additional computing resources
Hi bej34, No, the 1MB size limit for a datastore entity is still in place, but now you could store more of them ;-) Also if this is a file which is being uploaded to your application, the size limit is 10MB, but it sounded like you meant items in the datastore. Thank you, Jeff On Feb 24, 5:30 pm, bej34 qwigo...@gmail.com wrote: I'm still a bit confusedcan we now upload files larger than 1MB or can we just upload more than the 1 GB total storage quota. For example, can my blob property be the equivalent of a 50MB video file? On Feb 24, 5:38 pm, Tom M. thomasfmc...@gmail.com wrote: Fantastic! While personally I hope not to have to shell out too much coin, I'll contribute my $0.02 now and then. ;-) I can quite sincerely thank Google for teaching this old dog new tricks. I have an application (Wine by the Bar) that runs on the Android phone and is backed by GAE. Throw in Google maps, products, picasa, blogspot, youtube and there are no boundaries to what is possible. Here's to hoping that I never have to play in anyone else's cloud! Thanks Google! On Feb 24, 4:30 pm, Jeff S j...@google.com wrote: Hi all, We've just announced that it is now possible to purchase additional quota for your application. To borrow from our blog post, We're psyched to announce that developers can now purchase additional computing resources on App Engine, enabling apps to scale beyond our free quotas. This has been our most requested improvement to App Engine and we're thrilled to deliver it, as promised. You can now set a daily budget for your app that represents the maximum amount you're willing to pay for computing resources each day. You allocate this budget across CPU, bandwidth, storage, and email, and you pay for only what your app consumes beyond the free thresholds... More details are available at the following locations: Blog post:http://googleappengine.blogspot.com/2009/02/new-grow-your-app-beyond-... Updated quota documentation page:http://code.google.com/appengine/docs/quotas.html Documentation on purchasing additional quota:http://code.google.com/appengine/docs/billing.html Billing FAQs:http://code.google.com/appengine/kb/billing.html Questions? Comments? :-) Happy coding, Jeff --~--~-~--~~~---~--~~ You 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: Significant quota changes. . .
Typo on my part. Thanks for the catch. =) Revised changes: CPU current quota - 46 hours new quota - 6.5 hours % change - 86% reduction Bandwidth current quota - 10GB new quota - 1 GB % change - 90% reduction --~--~-~--~~~---~--~~ You 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: Sudden change in used Stored Data Quota
In order to launch billing, we changed our accounting methods to more accurately count the real amount of data stored in the datastore. This was the cause of the increases some people saw in their quota. Marzia, could you check my account (id:muspy). I have a really huge increase in the amount of stored data. It was 200-300 MB before the billing launch, and the quota was once reset for me from 500MB to zero. Now I see 7.73 GB in my dashboard %) Thanks! Alex --~--~-~--~~~---~--~~ You 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] Billing and 1Mb API call limitation
Will the 1Mb API call limit be lifted soon? We now have billing (for sizing up total storage) and 10Mb request/response limit... I believe that the 1Mb API call limit should soon be raised to at least 10Mb. Does anybody know if that will happen anytime soon??? Thanx --~--~-~--~~~---~--~~ You 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 -~--~~~~--~~--~--~---