[google-appengine] Re: How about DOS attack?
This a big problem! You have to think about the risk if you use it in your business. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Should I migrate to App Engine?
Huh. You sound like my Google-hating dad, saying, 'I drink the Google kool-aid'. But I'm not using my own servers. I'm hosting with another company (called Lunarpages). There isn't much code to convert, and, for safety, I'd probably try to keep up a standard-python copy, just in case. One big question: would App Engine be any faster than standard CGI like my other hosting provider provides (I thought I read thats all App Engine uses)? It seems the Python stuff with my other provider is a bit slow...? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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
well not exactly what i was looking for ... but cool enough. to note.. http://code.google.com/appengine/articles/hooks.html On Feb 24, 5:51 pm, gops wrote: > 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: Disappointed with free quota changes (probably not surprising)
Agreed. As I said, "Shame on me." On Feb 25, 10:27 pm, Josh Cronemeyer wrote: > I'm not saying you shouldn't be complainin, because lots of us were > surprised by the new "official" quota numbers and the new accounting, but I > will say that you certainly undertook a big risk by investing in a > technology as new and raw as app engine. Given the limitations and concerns > in your email I wouldn't have recommended you to set sail with the first > group of settlers to the far shores of google's nacent cloud computing > offering. Maybe you should have held off to see if we all got swallowed up > by sea monsters. Good luck! > > On Tue, Feb 24, 2009 at 8:12 PM, B.J. wrote: > > > I don't know that I have ever whined at an organization like Google > > for trying to make money. > > > That's changing with this message. > > > By my calculations, it could cost me $1000 over the next year to host > > my app that I had anticipated being hosted under the quotas. It may > > cost me nothing right now our usage is just under the daily CPU > > limits. If the traffic doesn't grow, no problem But whose goal is it > > for an app not to get more usage? > > > My only real gripe is that App Engine caused me to invest a lot of > > effort in shoe-horning my app into the "Google Way". I did that with > > the understanding that the trade-off was a certain amount of free > > hosting. Was that a promise? Of course not. Is Google under any > > obligation to meet my expectation? No. > > > However, as I attempt to further optimize the application in an effort > > to not exceed limits, the future of the application is now in > > question. This is not a profit deal. I gave away my time in an > > effort to help an organization. Had I known this change was coming, I > > probably would have chosen a different solution. Because of the > > "vendor lock-in" of App Engine, the end result of all this may be > > simply turning the app off and letting the organization do without. > > (or find someone else to help them out.) Better that than hit daily > > free limits or find money out of someone's pocket. > > > Look $1000/year is not a big deal for world-class hosting. I get it. > > I also understand that the free quotas are only there to get people > > "hooked" such as it were. I guess I wish had listened to those who > > said, "Don't do App Engine. They'll lock you in and change the deal. > > It's not portable enough." > > > Shame on me, I guess. > > > And before people chime in with all the, "You could always move it > > to...", or "If you had just written it this way... " or "It's a > > business, of course they're trying to get you to go over the limits.." > > please don't. > > > This is just a note to let the people at Google know there is a very > > real cost to changing the deal on people. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Disappointed with free quota changes (probably not surprising)
I'm not saying you shouldn't be complainin, because lots of us were surprised by the new "official" quota numbers and the new accounting, but I will say that you certainly undertook a big risk by investing in a technology as new and raw as app engine. Given the limitations and concerns in your email I wouldn't have recommended you to set sail with the first group of settlers to the far shores of google's nacent cloud computing offering. Maybe you should have held off to see if we all got swallowed up by sea monsters. Good luck! On Tue, Feb 24, 2009 at 8:12 PM, B.J. wrote: > > I don't know that I have ever whined at an organization like Google > for trying to make money. > > That's changing with this message. > > By my calculations, it could cost me $1000 over the next year to host > my app that I had anticipated being hosted under the quotas. It may > cost me nothing right now our usage is just under the daily CPU > limits. If the traffic doesn't grow, no problem But whose goal is it > for an app not to get more usage? > > My only real gripe is that App Engine caused me to invest a lot of > effort in shoe-horning my app into the "Google Way". I did that with > the understanding that the trade-off was a certain amount of free > hosting. Was that a promise? Of course not. Is Google under any > obligation to meet my expectation? No. > > However, as I attempt to further optimize the application in an effort > to not exceed limits, the future of the application is now in > question. This is not a profit deal. I gave away my time in an > effort to help an organization. Had I known this change was coming, I > probably would have chosen a different solution. Because of the > "vendor lock-in" of App Engine, the end result of all this may be > simply turning the app off and letting the organization do without. > (or find someone else to help them out.) Better that than hit daily > free limits or find money out of someone's pocket. > > Look $1000/year is not a big deal for world-class hosting. I get it. > I also understand that the free quotas are only there to get people > "hooked" such as it were. I guess I wish had listened to those who > said, "Don't do App Engine. They'll lock you in and change the deal. > It's not portable enough." > > Shame on me, I guess. > > And before people chime in with all the, "You could always move it > to...", or "If you had just written it this way... " or "It's a > business, of course they're trying to get you to go over the limits.." > please don't. > > This is just a note to let the people at Google know there is a very > real cost to changing the deal on people. > > > > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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 have also written a little about testing techniques for the Google App Engine. My stuff is not finished yet, but it may be of some help. http://code.google.com/p/gawsh/wiki/TestingAppComponents http://code.google.com/p/gawsh/wiki/TestingTechniques If that helps, please let me know. If you didn't understand any of it, or if you couldn't get the code to work, please also let me know. Garrett Davis On Feb 24, 2:17 pm, Bill wrote: > 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 wrote: > > >http://shell.appspot.com/ > > > On 24/02/2009, josto 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] Server Error woes
I'm getting a "Server Error" message from the dashboard, when I go into the "Data Viewer" and select "TiwiNotes" (one of my data entities). I've had the data in the data store for a couple of months. I just purchased the "pay for higher quotas", and was getting ready to run another benchmark by deleting the existing entities. After deleting about 47000 items, my delete code (deleting 500 per request), threw an exception. I logged the exception, but it was blank. So, I attempted to look at the data via the "Data Viewer" and got the "Server Error". I know they are close, guess this is the fun part about being on the "bleeding edge". I'm cut! Medic! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] timestamp woe
how can I compare the time stamp information that's stored as a string with a timestamp that's a datetime object stored through app engine? timestring = self.request.get('timestamp') timestring = timestring[0: timestring.find(".")]; timeformat = "%Y-%m-%d %H:%M:%S" newtime = datetime.datetime.fromtimestamp(time.mktime (time.strptime(timestring, timeformat))) this piece of code tries to convert the string into a datetime object, but the problem is that the version of python app engine uses doesn't support milliseconds. as you can see I'm trucating the milliseconds before i pass the timestring into strptime How can i get around this? Or can somebody from google answer whether app engine would support the next version of python which does support milliseconds in the strptime function? Jill --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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 for following through on this, Marzia! That makes a lot more sense. I really appreciate the diagnosis; you rock! bFlood, I think the only reason that handler is getting mauled is because of the 1200ms+ startup costs for initializing a new instance. Because it's the same handler, the startup costs are causing it to look like a dog and get collared, delaying also the 30-200ms type requests. Also note that there are lots of what are "different" requests to me, in that they do much different things, but they share a common handler and URL (in this case, a PyAMF gateway on /gateway). So that's why many different parts of the site seemed slow together. Now I just have to find a way to hack down that PyAMF startup time. Ugh. On Feb 23, 2:54 pm, Marzia Niccolai 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 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Should I migrate to App Engine?
Depends on the site. If it is likely to hit the big time, GAE will repay the pain of redeveloping (getting used to the datastore, mainly) many times over. And if you aren't a sysadmin, GAE will let you sleep at night. If it does crash (and I'm sure it will, occasionally) you can sit back and let the best sysadmins on the planet handle it. Another big issue is that currently you can switch hosting providers easily. Converting to GAE means putting your faith in Google, that they don't start being evil, and don't close down GAE on a whim. I've drunk the Kool-Aid, and like it a lot, but I have a contingency plan to migrate my app to another platform - migrating from GAE is easier than migrating to it, as long as your app isn/t popular enough to require clustered databases etc. One last thought - you'd learn a lot about GAE whilst you did the migration, which is valuable in itself. By the end, you'd be able to answer your own question... On Feb 26, 12:47 pm, Wiiboy wrote: > Hi everyone, > I've got a site right now that I plan to have coded all in Python (and > Javascript, Css, etc.), hosted on a shared hosting account. It hasn't > been released yet (it's not even finished), so should I migrate it to > App Engine? > > As far as I know, I won't come close to the free quotas, so that's not > a problem. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] load test
hey all. Although my app is far from complete, I thought Id do a little early 'load testing' to see what it would look like. I had noticed awful big cpu usage times, usually anywhere between 1100ms to 5000ms on my / page ! ... After some memcaching (I had absolutely none before that), I was able to get it to reduce to the mid hundreds after a few loads. Anyway, here's what i did: My script sent gradual requests to my app, as I understand this is how to best test the load under gae. I dunno if these values are optimal, they were completely random: 10 requests 2 seconds appart, 20 more starting at 2 seconds and ending at 0.25 seconds apart, and then 15 more 'all at once'.I fetched / and then parsed the response for all a & img tags, and followed href's and src images. Then fetched those. I went 2 'levels' deep like that. I did not follow any forms. My first few 'simulated site hits' ran as slow as what I had experienced at first. But quickly enough, I saw cpu processing times drop dramatically. Now, this brought a few questions: first of all, I got an 'too much contention on entity' (or something like that) error, on my first attemps at a load test, which threw 100 requests for everything on my site all at once. I dont know what that error is, nor how do avoid it. second, I noticed that request times read like this /'url' 200'response code' and then a time mesure and then the cpu ms time. What is that first time mesure ? Is it the total amount of time spent ? Does it take into account any kind of latency on the client's side of things or what not or does this value indicate server ressources usage only? anyway, id like your input on that. in the mean time ill keep optimizing. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] How about DOS attack?
If someone use DOS attack my app, how about i can do? could i have to pay lots of money for billing? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Should I migrate to App Engine?
Hi everyone, I've got a site right now that I plan to have coded all in Python (and Javascript, Css, etc.), hosted on a shared hosting account. It hasn't been released yet (it's not even finished), so should I migrate it to App Engine? As far as I know, I won't come close to the free quotas, so that's not a problem. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] New App - wikiaata
Hello everyone, Play the wikipedia game at http://www.wikiaata.com The app is powered by AppEngine and GWT was used for building the UI. Any feedback is very welcome. Cheers. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Sporadic Unicode error in POST queries
This will not work as expected, for many reasons. The line "value = unicode(value)" will break with UnicodeEncodeError (not Decode) if the value is unicode object and value contains characters from outside ASCII range. The line "unicode(str(value).encode('string_escape'))" can be translated to human "encode value twice then decode". str() produce byte string. Then you call encode to byte string, but byte strings do not have attribute encode() (unicode objects have). The you call "naive" unicode (without specifying encoding, so ASCII will be used). See http://effbot.org/zone/unicode-objects.htm for brief explanation on what is byte string and what is unicode object. On 25 Lut, 23:35, lenza wrote: > Hey Brian, I am trying to deal with a similar situation in my app. I > would love it if someone offered a good general solution for dealing > with unexpected non-UTF-8 data in a string. There must be a way > because my web browsers can display the data without crashing! =) > > The admittedly poor solution that I have been using as a workaround is > creating a "CheckStringProperty" and using it in place of Google's > db.StringProperty: > > class CheckStringProperty(db.StringProperty): > def validate(self, value): > try: > value = unicode(value) > except UnicodeDecodeError: > # string contains bad values > logging.warn("Encoding bad string with escapes: " + str > ([ch for ch in value])) > value = unicode(str(value).encode('string_escape')) > > return super(db.StringProperty, self).validate(value) > > Lenza > blog.lenza.org > > On Feb 25, 1:17 pm, Brian wrote: > > > Hi. I have observed a sporadic Unicode related bug that appears to be > > browser specific. It causes a db.put() to fail. I am not doing > > anything unusual with the incoming text except to put it in a > > variable, and then store in a record. I have determined that this > > issue is browser specific, and probably also related to the user's > > configuration for language preferences etc. > > > I have run out of ideas for tracking this down. My understanding of > > the CGI interface is that it is supposed to force everything to UTF-8 > > by default. It would be nice to be able to set some global options to > > manage encodings on incoming queries. I suspect what is going on is > > the texts are being sent in something besides UTF-8 but Python thinks > > they are Unicode. > > > Unfortunately, Python crashes when in a situation like this. It would > > be far better if the CGI interface would make a best effort to deal > > with the incoming text, inserting garbage characters where necessary. > > That is "less damaging" than a outright failure, as most people can > > live with an occasional [] in place of a tilde, etc. > > > On this subject, there really needs to be better documentation on > > Unicode, encoding conversions, etc. It is poorly documented in Python > > also, and I am sure a lot of people are making the same mistakes in > > trying to figure out what works and what breaks. > > > Thanks, > > > Brian McConnell --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Disappointed with free quota changes (probably not surprising)
The last official word on DOS attacks, from Marzia Niccolai, back in September last year: "On the broader issue of denial-of-service attacks, these are an unfortunate reality in the web world. While we don't currently offer applications any specific protections against attacks of this nature, this is something we're interested in looking into for the future. In the near-term, when we begin allowing developers to purchase computing resources beyond our free limits, we will provide a mechanism for reimbursement in the event of a DOS attack. " Now that the billing service is here, it might be good to get any update on that. More directly on topic, I agree the bait-and-switch is a bit disappointing. On Feb 25, 10:13 pm, Brandon Thomson wrote: > I agree except for the part about DOS attacks. As far as I can tell > they will just cost you a lot of money unless you actively detect and > block them, and even then there could be cost involved. > > On Feb 25, 4:24 pm, Greg wrote: > > > My feeling is that many people see GAE as free/cheap hosting. It can > > be, but it's real power is as a application platform that allows > > developers to take apps to market without a sysadmin - you just don't > > need to worry about clustering databases, DOS attacks, firewalls, > > patching the OS... Just think about how much a good night's sleep is > > worth to you. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Sporadic Unicode error in POST queries
If the data comes from any form in your application, you can force encoding of form data using accept-charset attribute of form element (see http://www.w3schools.com/tags/att_form_accept_charset.asp). On 25 Lut, 22:17, Brian wrote: > Hi. I have observed a sporadic Unicode related bug that appears to be > browser specific. It causes a db.put() to fail. I am not doing > anything unusual with the incoming text except to put it in a > variable, and then store in a record. I have determined that this > issue is browser specific, and probably also related to the user's > configuration for language preferences etc. > > I have run out of ideas for tracking this down. My understanding of > the CGI interface is that it is supposed to force everything to UTF-8 > by default. It would be nice to be able to set some global options to > manage encodings on incoming queries. I suspect what is going on is > the texts are being sent in something besides UTF-8 but Python thinks > they are Unicode. > > Unfortunately, Python crashes when in a situation like this. It would > be far better if the CGI interface would make a best effort to deal > with the incoming text, inserting garbage characters where necessary. > That is "less damaging" than a outright failure, as most people can > live with an occasional [] in place of a tilde, etc. > > On this subject, there really needs to be better documentation on > Unicode, encoding conversions, etc. It is poorly documented in Python > also, and I am sure a lot of people are making the same mistakes in > trying to figure out what works and what breaks. > > Thanks, > > Brian McConnell --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Urlfetch returns 400 error on production but not on dev
How many URLs are you fetching. It could be that you are running out of time on the appengine where each request is limited to 30 seconds. What do you see in the appengine logs? Lenza blog.lenza.org On Feb 25, 10:04 am, mmauctiva wrote: > I have an app that loops over a list of URLs and makes a urlfetch to > each. On the dev server all goes well; I get a 200 response as > expected. On appengine I get a 400 error (bad request). Is this > something to do with different headers being sent from appengine (and > if so what are they), or something else entirely? Has anyone > encountered (and better yet found the solution to) this problem? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Sporadic Unicode error in POST queries
Hey Brian, I am trying to deal with a similar situation in my app. I would love it if someone offered a good general solution for dealing with unexpected non-UTF-8 data in a string. There must be a way because my web browsers can display the data without crashing! =) The admittedly poor solution that I have been using as a workaround is creating a "CheckStringProperty" and using it in place of Google's db.StringProperty: class CheckStringProperty(db.StringProperty): def validate(self, value): try: value = unicode(value) except UnicodeDecodeError: # string contains bad values logging.warn("Encoding bad string with escapes: " + str ([ch for ch in value])) value = unicode(str(value).encode('string_escape')) return super(db.StringProperty, self).validate(value) Lenza blog.lenza.org On Feb 25, 1:17 pm, Brian wrote: > Hi. I have observed a sporadic Unicode related bug that appears to be > browser specific. It causes a db.put() to fail. I am not doing > anything unusual with the incoming text except to put it in a > variable, and then store in a record. I have determined that this > issue is browser specific, and probably also related to the user's > configuration for language preferences etc. > > I have run out of ideas for tracking this down. My understanding of > the CGI interface is that it is supposed to force everything to UTF-8 > by default. It would be nice to be able to set some global options to > manage encodings on incoming queries. I suspect what is going on is > the texts are being sent in something besides UTF-8 but Python thinks > they are Unicode. > > Unfortunately, Python crashes when in a situation like this. It would > be far better if the CGI interface would make a best effort to deal > with the incoming text, inserting garbage characters where necessary. > That is "less damaging" than a outright failure, as most people can > live with an occasional [] in place of a tilde, etc. > > On this subject, there really needs to be better documentation on > Unicode, encoding conversions, etc. It is poorly documented in Python > also, and I am sure a lot of people are making the same mistakes in > trying to figure out what works and what breaks. > > Thanks, > > Brian McConnell --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Disappointed with free quota changes (probably not surprising)
I agree except for the part about DOS attacks. As far as I can tell they will just cost you a lot of money unless you actively detect and block them, and even then there could be cost involved. On Feb 25, 4:24 pm, Greg wrote: > My feeling is that many people see GAE as free/cheap hosting. It can > be, but it's real power is as a application platform that allows > developers to take apps to market without a sysadmin - you just don't > need to worry about clustering databases, DOS attacks, firewalls, > patching the OS... Just think about how much a good night's sleep is > worth to you. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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
At work, a run of our primary app occupies 1400 cores (700 real cores?) for several hours. So, I might estimate that that'd cost something like $200 per run. Not negligible, given that the hardware cost is already partly sunk. Like I said, I know this isn't Google's goal necessarily, but it might be interesting to capture some of this market, too. I wonder if a volume discount would be economical. (Actually, the app I have in mind, though written in Python, also requires a custom C module for the CPU-intensive loop. IIRC, Google doesn't (yet?) allow this.) Mike On Feb 25, 12:53 pm, Peter Koomen wrote: > Note: CPU time is charged at a rate of $0.10 per *hour*--time is > measured by the second, and we round up to the nearest cent, so using > 30 minutes of usage beyond the free threshold on a given day would > cost $0.05 :) > > Pete > > On Feb 25, 8:05 am, Mike wrote: > > > I am watching your changes in the quota system from the perspective of > > wanting to run massive parallel applications on it. Considered that > > way, the changes are a definite improvement, though not quite to the > > point where it would be worth it for us. In particular, if I read > > your docs right, one application can really use about 72 simultaneous > > cores, due to hard quota restrictions. It is nice, though that > > apparently time is consumed "by the minute", rather than "by the > > hour", which is what Amazon does, I think. One further problem is > > that 10 cents per minute is probably too expensive, versus the best > > alternative we have available (using our own cluster resources). > > > I'm aware that massive parallel apps are not your goal, but still, > > it's interesting to see how close you're getting... > > > Mike --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Sporadic Unicode error in POST queries
Hi. I have observed a sporadic Unicode related bug that appears to be browser specific. It causes a db.put() to fail. I am not doing anything unusual with the incoming text except to put it in a variable, and then store in a record. I have determined that this issue is browser specific, and probably also related to the user's configuration for language preferences etc. I have run out of ideas for tracking this down. My understanding of the CGI interface is that it is supposed to force everything to UTF-8 by default. It would be nice to be able to set some global options to manage encodings on incoming queries. I suspect what is going on is the texts are being sent in something besides UTF-8 but Python thinks they are Unicode. Unfortunately, Python crashes when in a situation like this. It would be far better if the CGI interface would make a best effort to deal with the incoming text, inserting garbage characters where necessary. That is "less damaging" than a outright failure, as most people can live with an occasional [] in place of a tilde, etc. On this subject, there really needs to be better documentation on Unicode, encoding conversions, etc. It is poorly documented in Python also, and I am sure a lot of people are making the same mistakes in trying to figure out what works and what breaks. Thanks, Brian McConnell --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Disappointed with free quota changes (probably not surprising)
B.J. wrote: > By my calculations, it could cost me $1000 over the next year to host > my app that I had anticipated being hosted under the quotas. It may > cost me nothing right now our usage is just under the daily CPU > limits. If the traffic doesn't grow, no problem But whose goal is it > for an app not to get more usage? If you are already at the CPU limits, you either have a very processing-intensive app, or a very popular app. (The dashboard has never shown anything but 0% for my app.) If it's processor intensive, then you have a problem - processing cost money, no matter whether you do it on your own server, or someone elses. You need to rewrite (I know you don't want to hear that!) in C, and find a platform that lets you do that. If your app is popular, then stick an ad on the top of it and you'll cover your costs and more. My feeling is that many people see GAE as free/cheap hosting. It can be, but it's real power is as a application platform that allows developers to take apps to market without a sysadmin - you just don't need to worry about clustering databases, DOS attacks, firewalls, patching the OS... Just think about how much a good night's sleep is worth to you. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Ajax
On Feb 26, 2:40 am, PYD wrote: > server was negative. Then I remebered I read somewhere that Google > Engine couldn't serve Ajax. AJAX is just javascript content. There are no specific limitations for AJAX on Appengine, except for the limitations on content generally: 1 GB storage, and 1000 files/app. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Urlfetch returns 400 error on production but not on dev
I have an app that loops over a list of URLs and makes a urlfetch to each. On the dev server all goes well; I get a 200 response as expected. On appengine I get a 400 error (bad request). Is this something to do with different headers being sent from appengine (and if so what are they), or something else entirely? Has anyone encountered (and better yet found the solution to) this problem? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Question regarding NetBeans 6.5 Python support on the Mac
I'm trying to switch from Komodo to NetBeans and I'm stuck on one annoying problem. I can't seem to get NetBeans to recognize the GAE library module. I copied it out of the GAE bundle (as I did before for Komodo) and added it to the Python path in NetBeans, to no avail. Has anyone been able to get this to work? The built-in CVS support alone make NetBeans a big win, but I think it will be an improvement over Komodo in other ways as well. But only if I can get auto- completion to work. Thanks, Tony --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to use remote_api?
Thanks Bill. This was very helpful. I ran into a problem where I cannot use the remote api when I authenticate using a hosted google account. You have to use gmail.com account. Has anyone else experienced this? Does this have something to do with the AUTH_DOMAIN and USER_EMAIL environment variables? Where can I get more information about what these are? While trying to figure this out I noticed that the remote_api requires administrator access even if your app.yaml has no login line. Maybe that's a good idea... but definitely a little counter intuitive. Lenza blog.lenza.org On Feb 14, 11:26 am, Bill wrote: > I've written a blog entry describing how I've gotten theremote_apito > work for me:http://billkatz.com/2009/2/Remote-API-Hello-World > > Hope it helps, > Bill > > On Feb 13, 3:24 am, lookon wrote: > > > I am under Windows. Anyone can tell me how to useremote_api? Thanks. > > > p.s. I met the problem that the appengine module cannot be easily > > imported. > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Ajax
I am not sure that this is an GAE issue. I saved our code on my computer and I can see that when running in the dev server that you get an http 200 on the get for the xml document. I do not *think* that XML docemnts have an innerHTML property, so I think that you just need to handel the XML document that you loaded differently. I took your code and played with it in IE. This code 'works', but the call to getElementsByTagName is returng a nodeList that would have to be converted back to HTML before you could display them. You would also have to add Firefox support back in. IE gives me better errors from JavaScript, so that is why this is ie code. I hope this helps some! var xmlDoc; alert('start'); function loadXML() { //load xml file // code for IE if (window.ActiveXObject) { alert('Your browser IE'); xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.load("Included_CUT.xhtml"); getmessage(); } } function getmessage() { document.getElementById ("message").innerHTML=xmlDoc.getElementsByTagName("body"); } Doug On Feb 25, 7:40 am, PYD wrote: > Bonjour, > > I had my first tutorial/tests on Google All Engine, successfully > OK :=) > > Now, my first concern is to check that I can upload html / xhtml pages > with light Ajax invocation. My first test, o my local Google app > server was negative. Then I remebered I read somewhere that Google > Engine couldn't serve Ajax. But today googling on the Web seems to > lead to examples of Ajax Working. > > Is there some doc on the limitations, if any? > > Thanks on forward. > > PY Delens > == > Please find below the code I mean to upload: > . Included_CUT.xhtml (a small table) > . index.html (the calling container) with > > > > > "http://www.w3.org/TR/xhtml1/DTD/xhtml1- > strict.dtd"> > http://www.w3.org/1999/xhtml";> > > > > > > > > Row One - Cell One > Row One - Cell Two > Row One - Cell Three > Row One - Cell Four > > > Row Two - Cell One > Row Two - Cell Two > Row Two - Cell Three > Row Two - Cell Four > > > Row Three - Cell One > Row Three - Cell Two > Row Three - Cell Three > Row Three - Cell Four > > > Row Four - Cell One > Row Four - Cell Two > Row Four - Cell Three > Row Four - Cell Four > > > > > > > > > > > > > // > // SCRIPT ICI > > // Included_CUT.xhtml > var xmlDoc; > alert('start'); > function loadXML() { > //load xml file > // code for IE > if (window.ActiveXObject) { > alert('Your browser IE'); > xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); > xmlDoc.async = false; > xmlDoc.load("Included_CUT.xhtml"); > getmessage(); > } > // code for Mozilla, Firefox, Opera, etc. > // if and document.implementation.createDocument > else if (document.implementation && > document.implementation.createDocument ) { > alert('Your browser FsFX'); > xmlDoc = document.implementation.createDocument > ("", "", null); > xmlDoc.load("Included_CUT.xhtml"); > xmlDoc.onload = getmessage; > } > else { > alert('Your browser cannot handle this script'); > } > alert('getmessage'); > } > /* */ > function getmessage() > { > // see how for IE > document.getElementById > ("message").innerHTML=xmlDoc.getElementsByTagName("body") > [0].innerHTML; > > } > > // ]]> > > > > > > > > greeting.author.nickname wrote: > > An anonymous person wrote: > greeting.content|escape > > textarea > textarea textarea > > > > url_linktext > > > To: > qsd > > From: > > > Message: >
[google-appengine] Re: Quota Exceeded
app id: ecoknowmics thanks, Jeff. On Feb 24, 10:14 am, Jeff S wrote: > 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 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 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 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: Annoucement: you may now purchase additional computing resources
Hi Peter, I understand that 30 active simultaneous limit is only for free quota apps and I have already enabled billing. Let's forget for now about request/min quota. Point is that 'free' apps could have for half minute long up to 30 000ms/sec burst rate (30 active dynamic requests), but next 30 second they should have no request at all, so that they could stay under 15 000 ms/sec (15min/ min) cpu burst rate quota because it is calculated in minute interval. Am I right ? Two quotas exists because of different collection interval. 'Billing' apps should worry only on cpu burst rate quota. Plus both kinds of application should think about request / second quota. On Feb 25, 3:39 pm, Pete Koomen wrote: > Hi Matija, > > The per-minute CPU limit is independent of the number of active > requests you can run. Let's assume your requests were taking on > average 200ms of CPU time and completed in 200ms wall clock time, to > keep things simple. There are at least three limits that come into > play here. Looking at the free quotas (for apps that *do not* have > billing enabled): > > Per-minute quota on CPU Time: 15min/min = 900,000ms/min = 4500 req/ > min = 75 req/sec > Per-minute quota on HTTP Requests: 7400 req/min = ~123req/sec > 30 active simultaneous requests: (1000ms/sec / 200ms/req) * 30 = > 150req/sec > > In this case, the per-minute CPU Time quota is the limiting factor. > If you were to halve the CPU & wall time of each requests, then the > per-minute HTTP Request quota would become the limiting factor. Does > this make sense? > > Keep in mind, the free quotas will be changing on May 25th, 2009. > Seehttp://code.google.com/appengine/docs/quotas.html#Free_Changesfor > more details. > > Pete > > f each of your requests takes 200ms of CPU time on average, you'd have > enough CPU per minute to handle roughly 75 requests per second > > On Feb 25, 4:17 am, Matija wrote: > > > How can '...An application operating entirely within the free quotas > > can process around 30 active dynamic requests at any given moment...' > > if maximum rate for CPU time within free default quota is 15 CPU-min/ > > min ? Should you correct that statement to 15 active dynamic > > requests ? > > > Pozdrav, MATijA. > > > On Feb 24, 10:30 pm, Jeff S 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. . .
On Wed, Feb 25, 2009 at 8:09 AM, peterk wrote: > > Maybe I'm misunderstanding you, but since when was it free to run a > EC2 instance? > > EC2 Small Instance per CPU Hour is $0.10 (same as GAE's cost 'per CPU > hour') > EC2 outgoing bandwidth is $0.17 per GB for the first Terabyte out. S3 > outgoing bandwidth is the same cost for the first 10TB out. GAE is > $0.12 per GB out. > S3 storage is $0.15 per GB for the first 50TB. GAE is $0.15 per GB. > > I'm still reading, we may be comparing apples to oranges anyway with > regard to CPU time. Does CPU time on GAE cost if your application > isn't actually in use, or do you pay literally just for the cumulative > number of seconds your app spends actually executing? On EC2 you have > to keep an instance running 24/7 to host a site. > > Anyway, I need to go back reading the fine print. But on the face of > it it looks very competitive, particularly if CPU charges are more > granular than EC2. Indeed, App Engine's CPU accounting is extremely granular. We measure the amount of CPU used for every request individually and add that to our overall accounting. Your app does not consume resources and you do not pay for anything if your application is not in active use! For example, if your application uses 360 seconds of CPU time beyond the free quota limits on a single day, you would only be charged for one cent of usage ($0.10/CPU-hour * 360 = $0.01). -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: Annoucement: you may now purchase additional computing resources
Note: CPU time is charged at a rate of $0.10 per *hour*--time is measured by the second, and we round up to the nearest cent, so using 30 minutes of usage beyond the free threshold on a given day would cost $0.05 :) Pete On Feb 25, 8:05 am, Mike wrote: > I am watching your changes in the quota system from the perspective of > wanting to run massive parallel applications on it. Considered that > way, the changes are a definite improvement, though not quite to the > point where it would be worth it for us. In particular, if I read > your docs right, one application can really use about 72 simultaneous > cores, due to hard quota restrictions. It is nice, though that > apparently time is consumed "by the minute", rather than "by the > hour", which is what Amazon does, I think. One further problem is > that 10 cents per minute is probably too expensive, versus the best > alternative we have available (using our own cluster resources). > > I'm aware that massive parallel apps are not your goal, but still, > it's interesting to see how close you're getting... > > Mike --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Time to Ditch App Engine
So why bother with App Engine at all. In so many ways it is s limited. Just move the whole lot to Amazon! I think App Engine is destined to become Google's Edsel. On Feb 25, 9:36 am, peterk wrote: > What are your requirements? > > If you want media or large-file hosting..perhaps you could use > amazon's s3 to host your static files to overcome any bandwidth > limitations on GAE's end (if you need more than 740MB per minute)? I'm > assuming Amazon doesn't have rate limits or absolute bandwidth usage > limits. Once you factor out your static and media files, are you > really going to need more tham 740MB/minute of bandwidth? > > That said, 740MB/minute is over 12MB per second of bandwidth..that to > me sounds pretty decent given that many dedicated servers still offer > 10Mbit (1.25MB) connections to the internet! If GAE actually offers a > sustained >12MB/sec of bandwidth to your clients, on the face of it, > that seems pretty good? Am I missing something? > > For me, I'm more worried about request limits, so I plan to offload > all static requests to S3 in order to reserve my request quota and > bandwidth solely for the dynamic side of my app which will run on GAE. > A very large portion of my requests will be for 'small'' static files, > and it seems a waste to use GAE requests for those when they could be > put on s3 or cloudfront. > > The free quota revisions are unfortunate, but things are quite > scalable..once you're willing to pay, of course. But we always knew > we'd have to pay for more beyond the free quotas! They never suggested > scalability to the nth degree for free.. :) > > On Feb 25, 8:42 am, cc wrote: > > > It looks like the accountants at Google have taken over If you > > read over the new bandwidth quotes you will find that what was to be > > scalable is not so anymore: > > > Outgoing Bandwidth (adjustable, includes HTTPS) 10 GByte 56 > > MByte/ > > min 10 GByte free (plus budgeted adjustment up to 1046 GBytes/day) > > 740 MByte/min > > > 56 MByte/min 740 MByte/min wow talk about limited! > > > And don't forget to read all the way to the bottom of the page: > > > The new quota levels, which will take effect on May 25th, 2009, are: > > > * CPU Time: 6.5 hours of CPU time per day > > * Bandwidth: 1 Gigabyte of data transferred in and out of the > > application per day > > * Stored Data & Email Recipients: these quotas will remain > > unchanged. > > > These changes may also affect the fixed quotas applied to applications > > without billing enabled. Fixed quotas for applications with billing > > enabled will not be affected. > > > Bandwidth: 1 Gigabyte of data transferred in and out of the > > application per day > > > Your joking right? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Disappointed with free quota changes (probably not surprising)
"However, along with many performance improvements, we have learned that we were overly conservative with our initial free quota estimates. Therefore, 90 days after February 24th, 2009, we will be reducing the free quota resources." Bait and Switch. I guess it is legal since all you invested was time. Ethical? On Feb 25, 10:11 am, Brandon Thomson wrote: > I am somewhat annoyed they did not start off with the smaller quotas > but it can't be helped at this point. If App Engine doesn't become > profitable Google corporate will shut it down and then we will all be > hosed. > > On Feb 24, 9:12 pm, "B.J." wrote: > > > I don't know that I have ever whined at an organization like Google > > for trying to make money. > > > That's changing with this message. > > > By my calculations, it could cost me $1000 over the next year to host > > my app that I had anticipated being hosted under the quotas. It may > > cost me nothing right now our usage is just under the daily CPU > > limits. If the traffic doesn't grow, no problem But whose goal is it > > for an app not to get more usage? > > > My only real gripe is that App Engine caused me to invest a lot of > > effort in shoe-horning my app into the "Google Way". I did that with > > the understanding that the trade-off was a certain amount of free > > hosting. Was that a promise? Of course not. Is Google under any > > obligation to meet my expectation? No. > > > However, as I attempt to further optimize the application in an effort > > to not exceed limits, the future of the application is now in > > question. This is not a profit deal. I gave away my time in an > > effort to help an organization. Had I known this change was coming, I > > probably would have chosen a different solution. Because of the > > "vendor lock-in" of App Engine, the end result of all this may be > > simply turning the app off and letting the organization do without. > > (or find someone else to help them out.) Better that than hit daily > > free limits or find money out of someone's pocket. > > > Look $1000/year is not a big deal for world-class hosting. I get it. > > I also understand that the free quotas are only there to get people > > "hooked" such as it were. I guess I wish had listened to those who > > said, "Don't do App Engine. They'll lock you in and change the deal. > > It's not portable enough." > > > Shame on me, I guess. > > > And before people chime in with all the, "You could always move it > > to...", or "If you had just written it this way... " or "It's a > > business, of course they're trying to get you to go over the limits.." > > please don't. > > > This is just a note to let the people at Google know there is a very > > real cost to changing the deal on people. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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. . .
Hi Mike, > Here's what's confusing. There is the following statement. Note the > phrase "applications with billing enabled will not be affected": > > "These changes may also affect the fixed quotas applied to > applications without billing enabled. Fixed quotas for applications > with billing enabled will not be affected." > Reference: http://code.google.com/appengine/docs/quotas.html#Free_Changes > > Specifically, does this mean I can sign up for billing, but if my > application does NOT go over 46 hours, then, I pay nothing? It sounds > like I'll get to keep the old, higher quota values, after May 25th, > 2009, if I sign up for billing. True, I would run the risk of being > billed for anything above 46 hours; but, I would get to keep the old > quota. 90 days after billing launch the free daily quotas for all applications will change, as outlined here: http://code.google.com/appengine/docs/quotas.html#Free_Changes Until then, if you sign up for billing you would only pay for CPU usage above the current ~46 CPU-hour free quota. After that time, you would pay for usage above 6.5 CPU-hours. As part of billing launch we have raised the fixed quota limits for free and paid applications. These changes primarily affect the non-adjustable, non-billed quotas that you see in the right-most column of the tables in this section (look for "Maximum rate" under "Billing Enabled Quota"). These quotas are mainly rate limits on maximum usage of a particular API or resource in a short time span. http://code.google.com/appengine/docs/quotas.html#Resources We plan that the fixed quotas will remain at the current level after the new free quotas have been rolled out in 90 days. We realize the documentation on this quotas page can be difficult to understand so we're working to make it more clear. Let me know if you have any more questions. -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: Access to module file denied (PIL)
Is 'img_folder' a static file? If so, you can't access it directly using 'open'. "For efficiency, App Engine stores and serves static files separately from application files. Static files are not available in the application's file system. If you have data files that need to be read by the application code, the data files must be application files, and must not be matched by a static file pattern." http://code.google.com/appengine/docs/python/tools/configuration.html#Static_File_Handlers If it's not a static file, then it should work, though I'm not sure (not having personally used it) what the db.Blob conversion will do there--probably nothing. An example of using the images api with uploaded data can be found in the images-demo example: http://code.google.com/p/google-app-engine-samples/source/browse/trunk/images-demo/images_demo.py#159 http://images-demo.appspot.com/ --Matthew On Feb 23, 6:13 am, Mladen Stanojevic wrote: > But, what if I want to use already uploaded image file, not images > from DB?? > This code produces BadImageError: > > img_path = os.path.join(os.path.abspath(os.path.dirname > (__file__)), 'img_folder', 'img_file_name') > img_blob = db.Blob(open(img_path).read()) > img = images.Image(img_blob) > img.resize(width=80, height=100) > img.im_feeling_lucky() > thumbnail = img.execute_transforms() > > Mladen > > On Feb 11, 3:34 am, Ian Lewis wrote: > > > Matthew, > > > I'm using the images api. Up until 1.1.9 my understanding was that importing > > PIL wouldn't work in production (and with 1.1.9 it's enforcing it on the > > dev_server?). Let me pull out the code here, > > > models.py > > > class UserProfileImage(db.Model): > > user = db.ReferenceProperty(UserProperties, required=True) > > image = db.BlobProperty(required=True) > > mimetype = db.StringProperty(required=True) > > > views.py > > ... > > def user_settings(request): > > """ > > The user settings page. > > """ > > if request.method == 'POST': > > ... > > if not request.user.use_gravatar and 'profile_image' in request.FILES: > > from google.appengine.api import images > > old_profile_image = UserProfileImage.all().filter('user =', > > request.user).get() > > > uploaded_file = request.FILES['profile_image'] > > > # There should be only one chunk as we can only upload to memory > > image = images.Image(uploaded_file.chunks().next()) > > new_width = image.width > > new_height = image.height > > if image.width > 80 or image.height > 80: > > new_width = 80 > > new_height = 80 > > image.resize(new_width, new_height) > > image_data = image.execute_transforms(output_encoding=images.PNG) > > > profile_image = UserProfileImage(user=request.user, \ > > image=image_data, \ > > mimetype='image/png') > > profile_image.put() > > > if old_profile_image: > > old_profile_image.delete() > > ... > > > Ian > > > On Wed, Feb 11, 2009 at 3:52 AM, Matthew Blain > > wrote: > > > > Hello Ian, > > > How are you accessing PIL? Are you using the Images API* , or are you > > > importing from PIL directly? > > > > --Matthew > > > *http://code.google.com/appengine/docs/python/images/ > > > > On Feb 10, 5:47 am, Ian Lewis wrote: > > > > I'm getting an error similar to the errors about not being able to > > > > access > > > > skipped files with appengine-django but this time I'm getting an error > > > about > > > > not being able to access the PIL module file Image.py > > > > > I'm getting a different error pertaining to PIL now. This may or may not > > > be > > > > related to appengine-django. > > > > > DEBUG2009-02-10 13:41:24,134 dev_appserver.py] Access to module file > > > > denied: /usr/lib/python2.5/site-packages/PIL/Image.py > > > > > This causes the dev appserver to hang and use up lots of CPU. I'm using > > > > appengine-django and updated to the latest version in svn. > > > > > Ian > > > -- > > === > > 株式会社ビープラウド イアン・ルイス > > 〒150-0012 > > 東京都渋谷区広尾1-11-2アイオス広尾ビル604 > > email: ianmle...@beproud.jp > > TEL:03-5795-2707 > > FAX:03-5795-2708http://www.beproud.jp/ > > === --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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
Thanks for your replies. On 24 Feb., 20:02, theillustratedlife wrote: > Don't type the ReferenceProperty. You mean subclassing the ReferenceProperty? I don't want to do that. Otherwise, I don't understand what you mean... > > 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). I understand the problem. But I would like to get to this point ;) Also, I assume there must be a solution for this because I cannot imagine that these sorts of references are not supported. They are so common. Think of two entities each holding references to a bunch of the other one. Even moreso References to self. Example: Person relation 1: parents 1-n relation 2: children 1-n Both going from Person to Person On 24 Feb., 18:58, Mahmoud wrote: > Hello, > Can you provide samples form your model definitions? It would make it > much easier to follow what you're trying to do. I will happiliy do so when I get to my work machine again. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Disappointed with free quota changes (probably not surprising)
I am somewhat annoyed they did not start off with the smaller quotas but it can't be helped at this point. If App Engine doesn't become profitable Google corporate will shut it down and then we will all be hosed. On Feb 24, 9:12 pm, "B.J." wrote: > I don't know that I have ever whined at an organization like Google > for trying to make money. > > That's changing with this message. > > By my calculations, it could cost me $1000 over the next year to host > my app that I had anticipated being hosted under the quotas. It may > cost me nothing right now our usage is just under the daily CPU > limits. If the traffic doesn't grow, no problem But whose goal is it > for an app not to get more usage? > > My only real gripe is that App Engine caused me to invest a lot of > effort in shoe-horning my app into the "Google Way". I did that with > the understanding that the trade-off was a certain amount of free > hosting. Was that a promise? Of course not. Is Google under any > obligation to meet my expectation? No. > > However, as I attempt to further optimize the application in an effort > to not exceed limits, the future of the application is now in > question. This is not a profit deal. I gave away my time in an > effort to help an organization. Had I known this change was coming, I > probably would have chosen a different solution. Because of the > "vendor lock-in" of App Engine, the end result of all this may be > simply turning the app off and letting the organization do without. > (or find someone else to help them out.) Better that than hit daily > free limits or find money out of someone's pocket. > > Look $1000/year is not a big deal for world-class hosting. I get it. > I also understand that the free quotas are only there to get people > "hooked" such as it were. I guess I wish had listened to those who > said, "Don't do App Engine. They'll lock you in and change the deal. > It's not portable enough." > > Shame on me, I guess. > > And before people chime in with all the, "You could always move it > to...", or "If you had just written it this way... " or "It's a > business, of course they're trying to get you to go over the limits.." > please don't. > > This is just a note to let the people at Google know there is a very > real cost to changing the deal on people. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Time to Ditch App Engine
What are your requirements? If you want media or large-file hosting..perhaps you could use amazon's s3 to host your static files to overcome any bandwidth limitations on GAE's end (if you need more than 740MB per minute)? I'm assuming Amazon doesn't have rate limits or absolute bandwidth usage limits. Once you factor out your static and media files, are you really going to need more tham 740MB/minute of bandwidth? That said, 740MB/minute is over 12MB per second of bandwidth..that to me sounds pretty decent given that many dedicated servers still offer 10Mbit (1.25MB) connections to the internet! If GAE actually offers a sustained >12MB/sec of bandwidth to your clients, on the face of it, that seems pretty good? Am I missing something? For me, I'm more worried about request limits, so I plan to offload all static requests to S3 in order to reserve my request quota and bandwidth solely for the dynamic side of my app which will run on GAE. A very large portion of my requests will be for 'small'' static files, and it seems a waste to use GAE requests for those when they could be put on s3 or cloudfront. The free quota revisions are unfortunate, but things are quite scalable..once you're willing to pay, of course. But we always knew we'd have to pay for more beyond the free quotas! They never suggested scalability to the nth degree for free.. :) On Feb 25, 8:42 am, cc wrote: > It looks like the accountants at Google have taken over If you > read over the new bandwidth quotes you will find that what was to be > scalable is not so anymore: > > Outgoing Bandwidth (adjustable, includes HTTPS) 10 GByte 56 > MByte/ > min 10 GByte free (plus budgeted adjustment up to 1046 GBytes/day) > 740 MByte/min > > 56 MByte/min 740 MByte/min wow talk about limited! > > And don't forget to read all the way to the bottom of the page: > > The new quota levels, which will take effect on May 25th, 2009, are: > > * CPU Time: 6.5 hours of CPU time per day > * Bandwidth: 1 Gigabyte of data transferred in and out of the > application per day > * Stored Data & Email Recipients: these quotas will remain > unchanged. > > These changes may also affect the fixed quotas applied to applications > without billing enabled. Fixed quotas for applications with billing > enabled will not be affected. > > Bandwidth: 1 Gigabyte of data transferred in and out of the > application per day > > Your joking right? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Ajax
Bonjour, I had my first tutorial/tests on Google All Engine, successfully OK :=) Now, my first concern is to check that I can upload html / xhtml pages with light Ajax invocation. My first test, o my local Google app server was negative. Then I remebered I read somewhere that Google Engine couldn't serve Ajax. But today googling on the Web seems to lead to examples of Ajax Working. Is there some doc on the limitations, if any? Thanks on forward. PY Delens == Please find below the code I mean to upload: . Included_CUT.xhtml (a small table) . index.html (the calling container) with http://www.w3.org/TR/xhtml1/DTD/xhtml1- strict.dtd"> http://www.w3.org/1999/xhtml";> Row One - Cell One Row One - Cell Two Row One - Cell Three Row One - Cell Four Row Two - Cell One Row Two - Cell Two Row Two - Cell Three Row Two - Cell Four Row Three - Cell One Row Three - Cell Two Row Three - Cell Three Row Three - Cell Four Row Four - Cell One Row Four - Cell Two Row Four - Cell Three Row Four - Cell Four // greeting.author.nickname wrote: An anonymous person wrote: greeting.content|escape textarea textarea textarea url_linktext To: qsd From: Message: --- --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: IBM DB2 and App Engine
hi all i am new to Google app engine i have many questions to ask i need answers as fast as u can 1. how to extract data from app engine datastore. i inserted some data through my application now i want a dump of that, how is it possible ? 2. i have some data and i need to insert that data into app engine data store not thorugh application. is it possible? 3. i need a sample application on AJAX with app engine or any links regarding this. plz help me out as those are very urgent for me On Feb 13, 5:17 am, Juan Carlos Juarez Lerma wrote: > Hi all, thanks for your help, At this point I think to use a > WebServices to getting my data. > > Thanks!! > > 2009/2/12 Andrew Badera : > > > > > Any exposed DB should be encapsulated in a secured service layer anyhoo -- > > you DO NOT expose your database to the 'net, naked & raw, if you have any > > idea of what's good for you. > > > Thanks- > > - Andy Badera > > - and...@badera.us > > - (518) 641-1280 > > - Tech Valley Code Camp 2009.1:http://www.techvalleycodecamp.com/ > > - Google me:http://www.google.com/search?q=andrew+badera > > > On Thu, Feb 12, 2009 at 6:11 PM, Adrian Scott . com > > wrote: > > >> Hi! > > >> Sounds like you need some connection to your existing DB2 database on > >> your own servers. > > >> I would expect you would need to make the connection from your google > >> app engine web application through HTTP w/ SSL. So you could do it > >> that way, but probably not over the standard DB2 networking, at least > >> for the near future. > > >> Hope this helps! > > >> -Adrian > >>http://www.adrianscott.com/ > > >> On Feb 12, 4:54 pm, isc_jcjl wrote: > >> > Hi all, My company is search for new technology solutions, and now we > >> > focuses on Google App Engine, my Question: > > >> > Does Google Apps support DB2 connections? > > >> > Is very important for us, because, we need extract some data parts > >> > from our database (DB2). > > >> > Thanks All > > -- > Ing. Juan Carlos Juárez Lerma. > Sistemas Computacionales > Web Developer > Linux Counter: #209925 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] 1.1.9 can not import minidom?
when I use: from xml.dom import minidom errors: xml undefined, parseString undefined : No module named dom.minidom --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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. . .
* Bandwidth: 1 Gigabyte of data transferred in and out of the application per day 56 MByte/min 740 MByte/min This is a joke. On Feb 24, 5:56 pm, theillustratedlife wrote: > 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] Time to Ditch App Engine
It looks like the accountants at Google have taken over If you read over the new bandwidth quotes you will find that what was to be scalable is not so anymore: Outgoing Bandwidth (adjustable, includes HTTPS) 10 GByte56 MByte/ min 10 GByte free (plus budgeted adjustment up to 1046 GBytes/day) 740 MByte/min 56 MByte/min 740 MByte/min wow talk about limited! And don't forget to read all the way to the bottom of the page: The new quota levels, which will take effect on May 25th, 2009, are: * CPU Time: 6.5 hours of CPU time per day * Bandwidth: 1 Gigabyte of data transferred in and out of the application per day * Stored Data & Email Recipients: these quotas will remain unchanged. These changes may also affect the fixed quotas applied to applications without billing enabled. Fixed quotas for applications with billing enabled will not be affected. Bandwidth: 1 Gigabyte of data transferred in and out of the application per day Your joking right? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] sending email from localhost
hello all, i just develope an application in that i set up sendmail application ,now i want to check from my local host Through GAE i learned "dev.appserver.py --enable sendmail / application" when i start my app in my local host and in my coding i did : def post(self): sender_address ="exam...@yahoo.com" subject = self.request.get("subject") content = self.request.get("comment") name = self.request.get("user_name") phoneno = self.request.get("phone_no") user_email ="exam...@gmail.com" user_email_id = self.request.get("email_id") body=""" Here is the user details User Email : %s Name: %s Phone no: %s --- %s """ %(user_email_id,name,phoneno,content) mail.send_mail(sender_address,user_email,subject,body) self.redirect("/example.html") my app is running in linux os ,i just enable my sendmail and i check my sending sample mail but when i send mail through code it says error as: "/bin/sh: sendmail: command not found ERROR2009-02-25 06:37:05,801 mail_stub.py] Error sending mail using sendmail: [Errno 32] Broken pipe" plz advice me what mistake i done thanks river --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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. . .
This change could lead to significant cost changes, too: 46 hours (current) - 6.5 hours (new) = 39.5 hours/day difference * $0.10/hour * 365 days/year = $1441.75/year 10 GB (current) - 1GB (new) = 9GB/day difference * .10 * 365 = $328/ year These are "worst case" scenarios in many ways. Still, worth considering. On Feb 24, 7:56 pm, theillustratedlife wrote: > 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] Disappointed with free quota changes (probably not surprising)
I don't know that I have ever whined at an organization like Google for trying to make money. That's changing with this message. By my calculations, it could cost me $1000 over the next year to host my app that I had anticipated being hosted under the quotas. It may cost me nothing right now our usage is just under the daily CPU limits. If the traffic doesn't grow, no problem But whose goal is it for an app not to get more usage? My only real gripe is that App Engine caused me to invest a lot of effort in shoe-horning my app into the "Google Way". I did that with the understanding that the trade-off was a certain amount of free hosting. Was that a promise? Of course not. Is Google under any obligation to meet my expectation? No. However, as I attempt to further optimize the application in an effort to not exceed limits, the future of the application is now in question. This is not a profit deal. I gave away my time in an effort to help an organization. Had I known this change was coming, I probably would have chosen a different solution. Because of the "vendor lock-in" of App Engine, the end result of all this may be simply turning the app off and letting the organization do without. (or find someone else to help them out.) Better that than hit daily free limits or find money out of someone's pocket. Look $1000/year is not a big deal for world-class hosting. I get it. I also understand that the free quotas are only there to get people "hooked" such as it were. I guess I wish had listened to those who said, "Don't do App Engine. They'll lock you in and change the deal. It's not portable enough." Shame on me, I guess. And before people chime in with all the, "You could always move it to...", or "If you had just written it this way... " or "It's a business, of course they're trying to get you to go over the limits.." please don't. This is just a note to let the people at Google know there is a very real cost to changing the deal on people. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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: Advice on dealing with high CPU consumption in fetch + parse script
Thanks for the feedback. The Atom file is typically small ~100KB. I am using both minidom (for extracting entities) and BeautifulSoup (to extract properties from entries). Which XML parser do you recommend? I'm a just starting with Python. What is the fastest setup to fetch and parse Atom feeds (simple field extraction)? Finally, what is the best way to measure how long is my code taking on each task? Thanks again, -- Sérgio Nunes On Feb 25, 12:51 pm, "Scott Seely" wrote: > Are you doing anything other than parsing the XML? Also, how big is the Atom > feed? > 10MB? > > Also, are you using a DOM parser or stream based? Stream based will be a bit > faster. > > Finally, how long does it take you to parse, say, 100 Atom entries using > your code? I would expect the time to be on the order of <1ms. > > > -Original Message- > > From: google-appengine@googlegroups.com [mailto:google- > > appeng...@googlegroups.com] On Behalf Of Sérgio Nunes > > Sent: Tuesday, February 24, 2009 6:04 AM > > To: Google App Engine > > Subject: [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] Re: Annoucement: you may now purchase additional computing resources
The quota is actually 500 requests per second..or 30,000 per minute, or 43m per day. Google says this should be enough to withstand 'the heaviest of slashdottings', but that if you need more, you can request a raising of caps here: http://code.google.com/support/bin/request.py?contact_type=AppEngineCPURequest It is kind of my question now too, though..the question of just how big can an app get on GAE..and how far Google would work with you beyond the quotas here if your app was really successful and really needed more. The next facebook might need to go well beyond these quotas (?) :) On Feb 25, 1:37 pm, gops wrote: > There is a cap at 3 Request per Second. well I surely know that , > flikr,facebook,youtube or any big out there is getting more hits than > that... > > so possibility of making some next generation supercool site only on > google app engine is impossible ?? > > { yeh , i know , the chances that my application goes to that level is > very know , but having confidance that , if it goes by some chance , i > don't have to worry about server side > is a good relief -- another idea is , if it goes to that level , > surely i will have enough fund to buy my own server farms -- but > that's exactly we don't want to do -- and anyhow , we are > giving money so why there is cap at 3 Req per second :D } > > On Feb 25, 8:52 am, DenNukem wrote: > > > Looking at new quotas I see "Data Sent to [datastore] API" capped at > > "153 MByte/min". > > Uhm. This comes down to 2.5Mbyte/sec. > > How does this qualify for the "easy to scale applicatins" promise if > > the best I'm going to get is 2.5Mbyte/sec worth of disk writes? > > I mean that's pretty cool for a single server - 20mbit/sec of > > continous writes is great, but this being the limitation for the > > entire app? > > > Also, what is the point of the 740Mbyte/min of incoming bandwidth cap > > if you can not store more than 20% of the incoming data? > > > This is all veyr confusing. Please explain. > > > On Feb 24, 1:30 pm, Jeff S 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. . .
On Feb 25, 11:11 am, mchirico wrote: > Here's what's confusing. There is the following statement. Note the > phrase "applications with billing enabled will not be affected": > > "These changes may also affect the fixed quotas applied to > applications without billing enabled. Fixed quotas for applications > with billing enabled will not be affected." > Reference:http://code.google.com/appengine/docs/quotas.html#Free_Changes I believe this is talking about just the "fixed" quotas, which is contrasted with "adjustable" quotas. All 3 items mentioned are adjustable, so we can assume that these change for accounts with billing enabled. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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. . .
Do I read this correctly? There is a reduction and it is as follows? > CPU > current quota - 46 hours > new quota - 6.5 hours > % change - 86% reduction > > Bandwidth > current quota - 10GB > new quota - 1 GB > % change - 90% reduction Here's what's confusing. There is the following statement. Note the phrase "applications with billing enabled will not be affected": "These changes may also affect the fixed quotas applied to applications without billing enabled. Fixed quotas for applications with billing enabled will not be affected." Reference: http://code.google.com/appengine/docs/quotas.html#Free_Changes Specifically, does this mean I can sign up for billing, but if my application does NOT go over 46 hours, then, I pay nothing? It sounds like I'll get to keep the old, higher quota values, after May 25th, 2009, if I sign up for billing. True, I would run the risk of being billed for anything above 46 hours; but, I would get to keep the old quota. Regards, Mike Chirico On Feb 24, 8:56 pm, theillustratedlife wrote: > 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: Significant quota changes. . .
Maybe I'm misunderstanding you, but since when was it free to run a EC2 instance? EC2 Small Instance per CPU Hour is $0.10 (same as GAE's cost 'per CPU hour') EC2 outgoing bandwidth is $0.17 per GB for the first Terabyte out. S3 outgoing bandwidth is the same cost for the first 10TB out. GAE is $0.12 per GB out. S3 storage is $0.15 per GB for the first 50TB. GAE is $0.15 per GB. I'm still reading, we may be comparing apples to oranges anyway with regard to CPU time. Does CPU time on GAE cost if your application isn't actually in use, or do you pay literally just for the cumulative number of seconds your app spends actually executing? On EC2 you have to keep an instance running 24/7 to host a site. Anyway, I need to go back reading the fine print. But on the face of it it looks very competitive, particularly if CPU charges are more granular than EC2. On Feb 25, 3:39 pm, Wooble wrote: > On Feb 24, 5:57 pm, Brandon Thomson wrote: > > > Has anyone seen a cost comparison between Google and the other > > providers based on these new changes? > > EC2 free storage: none > EC2 free CPU: none > > you do the math. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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 am watching your changes in the quota system from the perspective of wanting to run massive parallel applications on it. Considered that way, the changes are a definite improvement, though not quite to the point where it would be worth it for us. In particular, if I read your docs right, one application can really use about 72 simultaneous cores, due to hard quota restrictions. It is nice, though that apparently time is consumed "by the minute", rather than "by the hour", which is what Amazon does, I think. One further problem is that 10 cents per minute is probably too expensive, versus the best alternative we have available (using our own cluster resources). I'm aware that massive parallel apps are not your goal, but still, it's interesting to see how close you're getting... Mike --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Significant quota changes. . .
Don't compare apples to oranges, EC2 is complete operating system instance. On 25 Lut, 16:39, Wooble wrote: > On Feb 24, 5:57 pm, Brandon Thomson wrote: > > > Has anyone seen a cost comparison between Google and the other > > providers based on these new changes? > > EC2 free storage: none > EC2 free CPU: none > > you do the math. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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 peter is the per-minute CPU Time quota expandable with the new billing options? brian On Feb 25, 9:39 am, Pete Koomen wrote: > Hi Matija, > > The per-minute CPU limit is independent of the number of active > requests you can run. Let's assume your requests were taking on > average 200ms of CPU time and completed in 200ms wall clock time, to > keep things simple. There are at least three limits that come into > play here. Looking at the free quotas (for apps that *do not* have > billing enabled): > > Per-minute quota on CPU Time: 15min/min = 900,000ms/min = 4500 req/ > min = 75 req/sec > Per-minute quota on HTTP Requests: 7400 req/min = ~123req/sec > 30 active simultaneous requests: (1000ms/sec / 200ms/req) * 30 = > 150req/sec > > In this case, the per-minute CPU Time quota is the limiting factor. > If you were to halve the CPU & wall time of each requests, then the > per-minute HTTP Request quota would become the limiting factor. Does > this make sense? > > Keep in mind, the free quotas will be changing on May 25th, 2009. > Seehttp://code.google.com/appengine/docs/quotas.html#Free_Changesfor > more details. > > Pete > > f each of your requests takes 200ms of CPU time on average, you'd have > enough CPU per minute to handle roughly 75 requests per second > > On Feb 25, 4:17 am, Matija wrote: > > > How can '...An application operating entirely within the free quotas > > can process around 30 active dynamic requests at any given moment...' > > if maximum rate for CPU time within free default quota is 15 CPU-min/ > > min ? Should you correct that statement to 15 active dynamic > > requests ? > > > Pozdrav, MATijA. > > > On Feb 24, 10:30 pm, Jeff S 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. . .
On Feb 24, 5:57 pm, Brandon Thomson wrote: > Has anyone seen a cost comparison between Google and the other > providers based on these new changes? EC2 free storage: none EC2 free CPU: none you do the math. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Reverse DNS lookup, Google Maps servers
We are currently hosting KML data to be fetched by GeoXml() requests to our GAE API. The data is purchased from a third-party vendor and one of their restrictions requires us to keep our polygon vertices hidden. We've been doing this by restricting these specific requests by IP address and keeping a running tab of the IP addresses the requests come from when a GeoXml request is used (there is also another counter-measure built into the URI, but it's not relevant to this post). It seems that it would be much better to restrict by domain so we don't have to keep adding IP addresses for the google maps servers (we have 10 already!). I've tried this before but there wasn't a way to do it. Have there been any changes to GAE libraries over the last few months that would add functionality to allow a reverse lookup? If not, does anyone have any suggestions? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email 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 Matija, The per-minute CPU limit is independent of the number of active requests you can run. Let's assume your requests were taking on average 200ms of CPU time and completed in 200ms wall clock time, to keep things simple. There are at least three limits that come into play here. Looking at the free quotas (for apps that *do not* have billing enabled): Per-minute quota on CPU Time: 15min/min = 900,000ms/min = 4500 req/ min = 75 req/sec Per-minute quota on HTTP Requests: 7400 req/min = ~123req/sec 30 active simultaneous requests: (1000ms/sec / 200ms/req) * 30 = 150req/sec In this case, the per-minute CPU Time quota is the limiting factor. If you were to halve the CPU & wall time of each requests, then the per-minute HTTP Request quota would become the limiting factor. Does this make sense? Keep in mind, the free quotas will be changing on May 25th, 2009. See http://code.google.com/appengine/docs/quotas.html#Free_Changes for more details. Pete f each of your requests takes 200ms of CPU time on average, you'd have enough CPU per minute to handle roughly 75 requests per second On Feb 25, 4:17 am, Matija wrote: > How can '...An application operating entirely within the free quotas > can process around 30 active dynamic requests at any given moment...' > if maximum rate for CPU time within free default quota is 15 CPU-min/ > min ? Should you correct that statement to 15 active dynamic > requests ? > > Pozdrav, MATijA. > > On Feb 24, 10:30 pm, Jeff S 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: app engine patch / eclipse / pydev / debug : help
Thank you very much, now it works. FYI, I had to set this value : "${workspace_loc:app-engine-patch/src}" Maybe you could had this info to the documentation. Great job ! On Feb 25, 3:08 pm, Waldemar Kornewald wrote: > On Feb 24, 4:43 pm, Sylvain wrote: > > > Nobody can help ? > > In the Arguments tab there is "Working directory" (at the bottom). > Choose "Other" and click on "Workspace" and select your project. > > 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: app engine patch / eclipse / pydev / debug : help
On Feb 24, 4:43 pm, Sylvain wrote: > Nobody can help ? In the Arguments tab there is "Working directory" (at the bottom). Choose "Other" and click on "Workspace" and select your project. 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: website not responding
Thank you Marzia, not sure how I could have missed that news. Great Work on adding the billing option On Feb 24, 4:12 pm, Marzia Niccolai wrote: > 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-... > > -Marzia > > On Mon, Feb 23, 2009 at 8:46 PM, Toney 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: Annoucement: you may now purchase additional computing resources
There is a cap at 3 Request per Second. well I surely know that , flikr,facebook,youtube or any big out there is getting more hits than that... so possibility of making some next generation supercool site only on google app engine is impossible ?? { yeh , i know , the chances that my application goes to that level is very know , but having confidance that , if it goes by some chance , i don't have to worry about server side is a good relief -- another idea is , if it goes to that level , surely i will have enough fund to buy my own server farms -- but that's exactly we don't want to do -- and anyhow , we are giving money so why there is cap at 3 Req per second :D } On Feb 25, 8:52 am, DenNukem wrote: > Looking at new quotas I see "Data Sent to [datastore] API" capped at > "153 MByte/min". > Uhm. This comes down to 2.5Mbyte/sec. > How does this qualify for the "easy to scale applicatins" promise if > the best I'm going to get is 2.5Mbyte/sec worth of disk writes? > I mean that's pretty cool for a single server - 20mbit/sec of > continous writes is great, but this being the limitation for the > entire app? > > Also, what is the point of the 740Mbyte/min of incoming bandwidth cap > if you can not store more than 20% of the incoming data? > > This is all veyr confusing. Please explain. > > On Feb 24, 1:30 pm, Jeff S 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: usercount
Perhaps you could consider using memcache API instead of Datastore property. Just my 2 cents. -- Takashi Matsuo On Tue, Feb 24, 2009 at 5:13 PM, Brandon Thomson 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 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: Advice on dealing with high CPU consumption in fetch + parse script
Are you doing anything other than parsing the XML? Also, how big is the Atom feed? > 10MB? Also, are you using a DOM parser or stream based? Stream based will be a bit faster. Finally, how long does it take you to parse, say, 100 Atom entries using your code? I would expect the time to be on the order of <1ms. > -Original Message- > From: google-appengine@googlegroups.com [mailto:google- > appeng...@googlegroups.com] On Behalf Of Sérgio Nunes > Sent: Tuesday, February 24, 2009 6:04 AM > To: Google App Engine > Subject: [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] Re: Annoucement: you may now purchase additional computing resources
How can '...An application operating entirely within the free quotas can process around 30 active dynamic requests at any given moment...' if maximum rate for CPU time within free default quota is 15 CPU-min/ min ? Should you correct that statement to 15 active dynamic requests ? Pozdrav, MATijA. On Feb 24, 10:30 pm, Jeff S 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: Problem while uploading application on Google app engine
Hii Jyoti, Thankx for ur reply... Now its working fine There was some proxy issues thats why it was giving problem.. On Feb 24, 9:47 pm, Jyoti Shete-Javadekar wrote: > 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 wrote: > > > > > 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?? > > -- > -Jyotiwww.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 -~--~~~~--~~--~--~---