[google-appengine] Re: Dashboard - Logs - How to clear them? - What is the Date-Time reference?
I'd bet my house too :) 2-3 months during a W.E. there was a datastore timeout issue (so no new entity were created, updated,...) And all my Exceptions were log with a logging.exception (a lot of debug info). And my quota grew about 1MB/hour without any creation, deleting,... just log. Regards On 15 nov, 23:41, Joel Odom [EMAIL PROTECTED] wrote: Is this still the fact? I'd bet my house that logs count against quota because this AM I was at about 0.5 MB of disk usage. I created *lots* of log messages and ended up around 1.1 MB used with only a few new data store entities. On Sep 23, 12:47 pm, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi, Currently, logs do not count towards storage quota. -Marzia On Mon, Sep 22, 2008 at 7:06 PM, Alexander Kojevnikov [EMAIL PROTECTED] wrote: currently there is no way to clear log messages Do the logs count towards the storage quota? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] zipimport doesn't work in SDK 1.1.5
Hi All, The zipimport feature is really cool and it's very helpful to solve 1000-file restriction. I have AppEngine SDK 1.1.5 (the latest) installed. Then I wrote a simple example and try it. But the zipimport doesn't work in SDK. I tried some other ways: 1. I upload to AppEngine, the same code works well in server. 2. I uninstall SDK 1.1.5 and install SDK 1.1.3. The same work works fine too. So, I think there should be something wrong with SDK 1.1.5 and zipimport. Anyone meet the same problem? Or you have some hint about solve this bug? Thanks a lot. :) -- Best Regards, Jiyu --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: creating a db.Model with a non-existent parent
Hi Andy! I'm not sure, but doesn't the parent argument in this line # parent is a db.Key so why does the next line fail? b1 = B(key_name='andy', parent=parent) has to be an actual entity rather than a key value? The error message seems to suggest so. So you should probably able to achieve what you want by using: b1 = B(key_name='andy', parent=db.get(parent)) Best Regards, Jesaja Everling 2008/11/16 Andy Freeman [EMAIL PROTECTED]: In http://code.google.com/appengine/docs/datastore/keysandentitygroups.html You can create an entity with an ancestor path without first creating the parent entity. To do so, you create a Key for the ancestor using a kind and key name, then use it as the parent of the new entity. All entities with the same root ancestor belong to the same entity group, whether or not the root of the path represents an actual entity. From the Model discussion in http://code.google.com/appengine/docs/datastore/modelclass.html parent The Model instance or Key instance for the entity that is the new entity's parent. class A(db.Model): pass class B(db.Model): pass parent = db.Key.from_path('A', 'hh') # parent is a db.Key so why does the next line fail? b1 = B(key_name='andy', parent=parent) C:\Program Files\Google\google_appengine_1.1.5\google\appengine\ext\db \__init__.py in __init__(self=schema.B object at 0x01AB5970, parent=datastore_types.Key.from_path('A', u'hh', _app=u'imagestew'), key_name='andy', _app=None, **kwds={}) type 'exceptions.TypeError': Expected Model type; received aglpbWFnZXN0ZXdyCQsSAUEiAmhoDA (is Key) args = ('Expected Model type; received aglpbWFnZXN0ZXdyCQsSAUEiAmhoDA (is Key)',) message = 'Expected Model type; received aglpbWFnZXN0ZXdyCQsSAUEiAmhoDA (is Key)' -- o L_/ OL This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: getting DeadlineExceededError posting facebook from GAE
There is not any bug in your code. Maybe the temporary network problem cause the urlfetch function works incorrectly. = http://go2.appspot.com 2008/11/16 MattG [EMAIL PROTECTED] any idea what I'm doing wrong? GAE log said this operation too 18k msecs. here's there error: DeadlineExceededError at /mybagapp/post_bag_item Request Method: POST Request URL:http://mybagdev.appspot.com/mybagapp/post_bag_item Exception Type: DeadlineExceededError Exception Value: Exception Location: /base/python_lib/versions/1/google/appengine/ runtime/apiproxy.py in Wait, line 161 Traceback (most recent call last): File /base/python_lib/versions/1/django/core/handlers/base.py in get_response 77. response = callback(request, *callback_args, **callback_kwargs) File /base/data/home/apps/mybagdev/1.329321030374107277/mybag/ views.py in post_bag_item 193. curr_user_obj.publish_user_action(request.POST, bag_item.item_name) File /base/data/home/apps/mybagdev/1.329321030374107277/mybag/ user.py in publish_user_action 107. call_id = True ) File /base/data/home/apps/mybagdev/1.329321030374107277/mybag/ gminifb.py in call 170. response = urlfetch.fetch(_fbUrl, payload=args, method=urlfetch.POST, headers = {'Content_type': 'application/ x_www_form_urlencoded'}) File /base/python_lib/versions/1/google/appengine/api/urlfetch.py in fetch 257. apiproxy_stub_map.MakeSyncCall('urlfetch', 'Fetch', request, response) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py in MakeSyncCall 46. stub.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/runtime/ apiproxy.py in MakeSyncCall 245. rpc.Wait() File /base/python_lib/versions/1/google/appengine/runtime/ apiproxy.py in Wait 161. rpc_completed = _apphosting_runtime___python__apiproxy.Wait (self) DeadlineExceededError at /mybagapp/post_bag_item --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Data exchange between DataStore and gData
Hi, I have a couple of questions. (1) Can i display two widgets for one label? If i have a property named Residence Address, i would like two text boxes coming next to this label. How do i do it? (2) In the initial stage, i just put two separate property like 'Address Line 1' and 'Address Line 2', both an instance of StringProperty. Now i need to exchange this data through the gData API. Is it possible to merge 'Address Line 1' and 'Address Line 2' into a single gData element of type postaladdress. If yes, then please provide me a brief method of doing it. Also, is there anything that i need to take care of, when exchanging data between the two? Regards, --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Looking for a basic simple tutorial Add/Edit/Delete records
Hi: . I am looking for a very basic tutorial on how to Add/Edit/Delete records with Google App engine. . None of these show me clearly how to do this http://code.google.com/p/google-app-engine-samples/downloads/list . I have spent a long time looking for such a simple example . A very simple Address book example would be helpful to aid me in building the application I have in mind Thanks for help. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Looking for a basic simple tutorial Add/Edit/Delete records
Did you look here : http://code.google.com/appengine/docs/gettingstarted/ and then particularly here : http://code.google.com/appengine/docs/gettingstarted/usingdatastore.html and then here : http://code.google.com/appengine/docs/datastore/creatinggettinganddeletingdata.html Regards On 16 nov, 16:17, HG [EMAIL PROTECTED] wrote: Hi: . I am looking for a very basic tutorial on how to Add/Edit/Delete records with Google App engine. . None of these show me clearly how to do this http://code.google.com/p/google-app-engine-samples/downloads/list . I have spent a long time looking for such a simple example . A very simple Address book example would be helpful to aid me in building the application I have in mind Thanks for help. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: suddenly, a new error in Cheetah in production GAE, doesn't occur in SDK
Hi Marzia, Thanks for the explanation! I'm a little bit surprised that the production API would change on its own like this. This makes a production application incredibly unstable if the underlying GAE API can change without warning. Is there any plan to allow an application to freeze the API on which it relies so that this kind of instability doesn't occur? Or is this simply because GAE is in beta and when (hopefully soon) it goes production then this won't happen? -Ben On Nov 15, 1:07 pm, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi Ben, The recent maintenance included some changes to db.py, including adding a has_key function, which seems to be causing the error with template rendering. The new SDK has not yet been released, but the easiest/quickest fix would be to take the google.appengine.ext.db __init__.py file from 1.1.5, rename it, and included it with your application. Just change the imports, replacing from google.appengine.ext import db with from Db import db (assuming you changed the name of __init__.py to Db.py, for instance). Hope this helps, sorry for the confusion! -Marzia On Fri, Nov 14, 2008 at 3:19 PM, Ben Adida [EMAIL PROTECTED] wrote: Hi Marzia, Thanks again for your help. I want to stress that this started happening with no change in code on my end. And it works just fine in the SDK. Was there a library change of any kind in GAE over the last few days? The source code for my app is entirely public. Here's the template in particular: http://github.com/benadida/helios/tree/master/templates/election/one and the controller http://github.com/benadida/helios/tree/master/controllers/election.py line 395. Thanks again, -Ben On Nov 14, 3:01 pm, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi Ben, It's difficult to know what this stack trace means with out an idea of what kind of obj the has_key method belongs to. Would it be possible to at least provide the template that is being rendered? And a description of what one expects to be rendered? -Marzia On Fri, Nov 14, 2008 at 11:51 AM, Ben Adida [EMAIL PROTECTED] wrote: Marzia, It's a little difficult to cut down the example to size, because *all* of my pages that render content from the store are giving errors. Here's one URL where the issue comes up: http://dev.heliosvoting.org/elections/ahBkZXYtaGVsaW9zdm90aW5ncg8LEgh. .. and that will give you the complete stack trace. Let me know if that helps, and thanks. -Ben On Nov 14, 9:49 am, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi Ben, Can you provide a more complete example of the code that causes this issue? As well as the complete stack trace. Thanks, Marzia On Fri, Nov 14, 2008 at 9:40 AM, Ben Adida [EMAIL PROTECTED] wrote: Suddenly, I'm getting the following errors on just about every page: if hasattr(obj, 'has_key') and obj.has_key(key): TypeError: has_key() takes exactly 1 argument (2 given) This is within the Cheetah templating library, _valueForName function. I haven't modified the Cheetah code, nor have I modified my application at GAE in the last few days. And I can't reproduce this error in my local SDK installation. Did GAE just change some internal libraries? I don't even understand why has_key() would ever take only one argument... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] strange problem with Admin Console - Dashboard on Google App Engine
I just signed up for a Google App Engine account. I sent an SMS to my phone and entered in the confirmation code. When I go to http://appengine.google.com I saw the create application button - which I clicked on and successfully created my first application. Using appcfg.py I uploaded my new app to the http://myapp.appspot.com domain and I can see it there correctly in the web browser. If I make a change to a template page on my dev server and appcfg.py update I can see the change reflected on the live site at http://myapp.appspot.com. So far so good. However, I cannot seem to access the dashboard (or Admin Console) to administer my app. Specifically I want to change the domain from appspot to a google apps domain I own. I would also like to see the statistics for the app. However, when I go to http://appengine.google.com all I see is the create application button. I do not see a list of my apps hosted on app engine anywhere or any link to reach this page. I simply cannot figure out how to get to that screen. I am positive I am logged in as the correct user - I can see that account name in the upper right corner. To the left of the My Account | Help | Sign Out links. That emil address displayed is the same one I used in appcfg.py to upload my app to Google App Engine. Can someone help with this? Thanks very much for your time. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] AttributeError: '_URLFetchResult' object has no attribute 'strip' Is driving me Crazy...
I am trying to port a perl app to python and i dont have much experience with python. I need to strip the leading and trailing whitespaces from a http post result: def sms_sender(a): query_args = { 'username':username, 'password':password, 'to':'001234567890', 'from':'001234567890', 'text':a } encoded_args = urllib.urlencode(query_args) url = 'https://myaccount.smsdiscount.com/clx/sendsms.php' #print urllib.urlopen(url, encoded_args).read() response = urlfetch.fetch(url=url, payload=encoded_args, method=urlfetch.POST, headers={'Content-Type': 'application/x-www- form-urlencoded'}) response = response.strip() root = ET.fromstring(response) #Create an iterator iter = root.getiterator() #Iterate for element in iter: if element.text: text = element.text if element.tag == result: ResultCode = repr(text) elif element.tag == resultstring: ResultString = repr(text) elif element.tag == resultdescription: ResultDescription = repr(text) elif element.tag == endcause: ResultEndCause = repr(text) I know the code is horrible! I get the error: AttributeError: '_URLFetchResult' object has no attribute 'strip' I really dont know how to proceed!! Please help.. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] http HEAD responds with 405 in webapp framework
The webapp framework is fairly strict about http head requests. I'm not a web framework expert, but I think most web frameworks will implement head in terms of http GET if an explicit HEAD handler is not implemented. But webapp seems to require that head is explicit implemented in your handler or else it will return a 405 error. I would like HEAD to work on my site, but I don't really want to go and add special HEAD handlers to each of my controllers. This brings up two questions: 1. Would it make sense to modify the webapp framework so that HEAD requests fall back on GET if HEAD isn't implemented? 2. Related, in my app I've just added this default controller: class HEADHandler(webapp.RequestHandler): def head(self, *args): return self.get(*args) And I make all my other controllers inherit from it. This seems to work as desired, my controllers now correctly respond to HEAD requests. Is this an OK implementation, or can it cause problems that I'm not thinking about? Thanks, Jesse --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] app-engine-patch 0.9 released!
Hi, together with an updated sample project that comes with Django 1.0.1 the biggest new features in our latest release are support for Google Accounts and model serialization. We've also improved the documentation a little bit and moved the ugly internal details into a separate section. Please visit our project site for more information: http://code.google.com/p/app-engine-patch/ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: creating a db.Model with a non-existent parent
b1 = B(key_name='andy', parent=db.get(parent)) Only works if parent is the key of an entity that exists. (My original parent=parent would have worked if parent had been the key of an actual entity.) I'm trying to create a B whose parent does not exist as described in: http://code.google.com/appengine/docs/datastore/keysandentitygroups.html You can create an entity with an ancestor path without first creating the parent entity. To do so, you create a Key for the ancestor using a kind and key name, then use it as the parent of the new entity. All entities with the same root ancestor belong to the same entity group, whether or not the root of the path represents an actual entity. On Nov 16, 1:53 am, Jesaja Everling [EMAIL PROTECTED] wrote: Hi Andy! I'm not sure, but doesn't the parent argument in this line # parent is a db.Key so why does the next line fail? b1 = B(key_name='andy', parent=parent) has to be an actual entity rather than a key value? The error message seems to suggest so. So you should probably able to achieve what you want by using: b1 = B(key_name='andy', parent=db.get(parent)) Best Regards, Jesaja Everling 2008/11/16 Andy Freeman [EMAIL PROTECTED]: Inhttp://code.google.com/appengine/docs/datastore/keysandentitygroups.html You can create an entity with an ancestor path without first creating the parent entity. To do so, you create a Key for the ancestor using a kind and key name, then use it as the parent of the new entity. All entities with the same root ancestor belong to the same entity group, whether or not the root of the path represents an actual entity. From the Model discussion in http://code.google.com/appengine/docs/datastore/modelclass.html parent The Model instance or Key instance for the entity that is the new entity's parent. class A(db.Model): pass class B(db.Model): pass parent = db.Key.from_path('A', 'hh') # parent is a db.Key so why does the next line fail? b1 = B(key_name='andy', parent=parent) C:\Program Files\Google\google_appengine_1.1.5\google\appengine\ext\db \__init__.py in __init__(self=schema.B object at 0x01AB5970, parent=datastore_types.Key.from_path('A', u'hh', _app=u'imagestew'), key_name='andy', _app=None, **kwds={}) type 'exceptions.TypeError': Expected Model type; received aglpbWFnZXN0ZXdyCQsSAUEiAmhoDA (is Key) args = ('Expected Model type; received aglpbWFnZXN0ZXdyCQsSAUEiAmhoDA (is Key)',) message = 'Expected Model type; received aglpbWFnZXN0ZXdyCQsSAUEiAmhoDA (is Key)' -- o L_/ OL This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Observing GAE Scalability (or trying to ...)
Hi Ross, Well, Google App Engine would be a terrible place to serve most massively multiplayer games. I hope that's not what got you interested in GAE. Pretend I'm dumb... no, it's okay, I *am* dumb when it comes to MMOG. Why would GAE be a terrible place to serve these? The type of communication required? Ben --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Observing GAE Scalability (or trying to ...)
The lack of any long running server side process also precludes doing any real time MMOGs. With many turn based web based MMOGs there is no way to partition the game state into entities such that executing all player commands only requires updating entities in one entity group during the execution of the command, so its necessary to implement a cross-entity group transaction layer on top of the GAE datastore, but its currently unclear to me that this can actually be done while staying under GAEs quotas. On Nov 16, 11:52 am, Ben Nevile [EMAIL PROTECTED] wrote: Hi Ross, Well, Google App Engine would be a terrible place to serve most massively multiplayer games. I hope that's not what got you interested in GAE. Pretend I'm dumb... no, it's okay, I *am* dumb when it comes to MMOG. Why would GAE be a terrible place to serve these? The type of communication required? Ben --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: ImportError: No module named _md5
Okay, the OP seems to have gone missing, so I'll take his place. :-) My app is successfully running under Ubuntu as well as on Appengine itself. I'm trying to move development over onto my Macbook and ran into the same problem. On Sep 22, 12:05 pm, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi, If you could provide some more information, that would be helpful: What version of the SDK are you currently running 1.1.3? I am running 1.1.5.151 What version of Mac OS are you running? OS X 10.4 (Tiger) Are you using the Mac Python install, or a different Python installation I had to upgrade Pyhton to v 2.5. I did that using Macports. when running the SDK? IIUC, yes. I get the error on my local machine. I'm using Eclipse as my IDE but I see the same error from that little GoogleAppEngineLauncher thingie. This was SO much easier under Ubuntu! :-) Thanks, Marzia On Sat, Sep 20, 2008 at 9:25 AM, JoshuaJ [EMAIL PROTECTED] wrote: When I try to run google's hello world example in GoogleAppEngineLauncher on Mac OS X, I get an error message complaining ImportError: No module named _md5. A similar question was posted here several months ago, and a workaround was provided, but that one no longer applies; the workaround has already been incorporated into the latest versions of GoogleAppEngineLauncher, but I'm still having the problem! Here's the log that it outputs: *** Running dev_appserver with the following flags: --admin_console_server= --port=8080 Python command: /opt/local/bin/python2.5 Traceback (most recent call last): File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ dev_appserver.py, line 55, in module execfile(script_path, globals()) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver_main.py, line 73, in module from google.appengine.tools import appcfg File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/appcfg.py, line 40, in module import sha File /opt/local/lib/python2.5/sha.py, line 6, in module from hashlib import sha1 as sha File /opt/local/lib/python2.5/hashlib.py, line 133, in module md5 = __get_builtin_constructor('md5') File /opt/local/lib/python2.5/hashlib.py, line 60, in __get_builtin_constructor import _md5 ImportError: No module named _md5 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: creating a db.Model with a non-existent parent
Andy Freeman wrote: I'm trying to create a B whose parent does not exist as described in: http://code.google.com/appengine/docs/datastore/keysandentitygroups.html It might be that you have to create the root entity for the key and it's corresponding entity group to become valid. After B is created, in theory at least, you should be able to delete the root entity and then have a child entity with a parent that doesn't exist (anymore). Ross Ridge --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Looking for a basic simple tutorial Add/Edit/Delete records
Thanks! I did see those but was hoping for a complete app in a .zip to play around with. I will try to piece together the 3rd one... and post it somewhere, maybe Knol.google.com If anyone knows of a simple complete Add/Edit/Delete sample, I would still be interested, Thanks Rob --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Observing GAE Scalability (or trying to ...)
Yes, it's clear that it is often convenient to complement GAE with a server that's handling long-running processes, managing queues of work, efficiently distributing messages, etc. And your transactional concerns seem valid, although it also seems like it should be possible to create a new entity group/model type to represents the type of contentious relationship that has you worried. But I'm sure there are lots of issues I haven't considered! Thanks for the info. Ben On Nov 16, 12:10 pm, Josh Heitzman [EMAIL PROTECTED] wrote: The lack of any long running server side process also precludes doing any real time MMOGs. With many turn based web based MMOGs there is no way to partition the game state into entities such that executing all player commands only requires updating entities in one entity group during the execution of the command, so its necessary to implement a cross-entity group transaction layer on top of the GAE datastore, but its currently unclear to me that this can actually be done while staying under GAEs quotas. On Nov 16, 11:52 am, Ben Nevile [EMAIL PROTECTED] wrote: HiRoss, Well, Google App Engine would be a terrible place to serve most massively multiplayer games. I hope that's not what got you interested in GAE. Pretend I'm dumb... no, it's okay, I *am* dumb when it comes to MMOG. Why would GAE be a terrible place to serve these? The type of communication required? Ben --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: ImportError: No module named _md5
And since Marzia is probably taking a well-deserved rest this weekend, I'll answer the OP's question! You need to also install py25-hashlib, e.g. sudo port install py25-hashlib and you no longer get this error. Now, to fix my other errors... On Sun, Nov 16, 2008 at 3:39 PM, faber [EMAIL PROTECTED] wrote: Okay, the OP seems to have gone missing, so I'll take his place. :-) My app is successfully running under Ubuntu as well as on Appengine itself. I'm trying to move development over onto my Macbook and ran into the same problem. On Sep 22, 12:05 pm, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi, If you could provide some more information, that would be helpful: What version of the SDK are you currently running 1.1.3? I am running 1.1.5.151 What version of Mac OS are you running? OS X 10.4 (Tiger) Are you using the Mac Python install, or a different Python installation I had to upgrade Pyhton to v 2.5. I did that using Macports. when running the SDK? IIUC, yes. I get the error on my local machine. I'm using Eclipse as my IDE but I see the same error from that little GoogleAppEngineLauncher thingie. This was SO much easier under Ubuntu! :-) Thanks, Marzia On Sat, Sep 20, 2008 at 9:25 AM, JoshuaJ [EMAIL PROTECTED] wrote: When I try to run google's hello world example in GoogleAppEngineLauncher on Mac OS X, I get an error message complaining ImportError: No module named _md5. A similar question was posted here several months ago, and a workaround was provided, but that one no longer applies; the workaround has already been incorporated into the latest versions of GoogleAppEngineLauncher, but I'm still having the problem! Here's the log that it outputs: *** Running dev_appserver with the following flags: --admin_console_server= --port=8080 Python command: /opt/local/bin/python2.5 Traceback (most recent call last): File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ dev_appserver.py, line 55, in module execfile(script_path, globals()) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver_main.py, line 73, in module from google.appengine.tools import appcfg File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/appcfg.py, line 40, in module import sha File /opt/local/lib/python2.5/sha.py, line 6, in module from hashlib import sha1 as sha File /opt/local/lib/python2.5/hashlib.py, line 133, in module md5 = __get_builtin_constructor('md5') File /opt/local/lib/python2.5/hashlib.py, line 60, in __get_builtin_constructor import _md5 ImportError: No module named _md5 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: strange problem with Admin Console - Dashboard on Google App Engine
Did you use a Google Apps e-mail to sign up? In this case you should use this link: http://appengine.google.com/a/YOURDOMAIN.COM/ On Nov 17, 1:35 am, Explore Appengine [EMAIL PROTECTED] wrote: I just signed up for a Google App Engine account. I sent an SMS to my phone and entered in the confirmation code. When I go tohttp://appengine.google.com I saw the create application button - which I clicked on and successfully created my first application. Using appcfg.py I uploaded my new app to thehttp://myapp.appspot.comdomain and I can see it there correctly in the web browser. If I make a change to a template page on my dev server and appcfg.py update I can see the change reflected on the live site athttp://myapp.appspot.com. So far so good. However, I cannot seem to access the dashboard (or Admin Console) to administer my app. Specifically I want to change the domain from appspot to a google apps domain I own. I would also like to see the statistics for the app. However, when I go tohttp://appengine.google.comall I see is the create application button. I do not see a list of my apps hosted on app engine anywhere or any link to reach this page. I simply cannot figure out how to get to that screen. I am positive I am logged in as the correct user - I can see that account name in the upper right corner. To the left of the My Account | Help | Sign Out links. That emil address displayed is the same one I used in appcfg.py to upload my app to Google App Engine. Can someone help with this? Thanks very much for your time. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: AttributeError: '_URLFetchResult' object has no attribute 'strip' Is driving me Crazy...
urlfetch.fetch() returns a Response object, not a response value as a string: http://code.google.com/appengine/docs/urlfetch/responseobjects.html This code should do the trick: root = ET.fromstring(response.content.strip()) On Nov 17, 3:53 am, Maarten_D [EMAIL PROTECTED] wrote: I am trying to port a perl app to python and i dont have much experience with python. I need to strip the leading and trailing whitespaces from a http post result: def sms_sender(a): query_args = { 'username':username, 'password':password, 'to':'001234567890', 'from':'001234567890', 'text':a } encoded_args = urllib.urlencode(query_args) url = 'https://myaccount.smsdiscount.com/clx/sendsms.php' #print urllib.urlopen(url, encoded_args).read() response = urlfetch.fetch(url=url, payload=encoded_args, method=urlfetch.POST, headers={'Content-Type': 'application/x-www- form-urlencoded'}) response = response.strip() root = ET.fromstring(response) #Create an iterator iter = root.getiterator() #Iterate for element in iter: if element.text: text = element.text if element.tag == result: ResultCode = repr(text) elif element.tag == resultstring: ResultString = repr(text) elif element.tag == resultdescription: ResultDescription = repr(text) elif element.tag == endcause: ResultEndCause = repr(text) I know the code is horrible! I get the error: AttributeError: '_URLFetchResult' object has no attribute 'strip' I really dont know how to proceed!! Please help.. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: app-engine-patch 0.9 released!
Thank you Waldemar! On Nov 17, 6:41 am, Waldemar Kornewald [EMAIL PROTECTED] wrote: Hi, together with an updated sample project that comes with Django 1.0.1 the biggest new features in our latest release are support for Google Accounts and model serialization. We've also improved the documentation a little bit and moved the ugly internal details into a separate section. Please visit our project site for more information:http://code.google.com/p/app-engine-patch/ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: strange problem with Admin Console - Dashboard on Google App Engine
Alexander, That worked! - I am able to see the Admin Console now. I see that those instructions are on the Google App Engine login page but somehow I missed putting the /a/ part into my url. Thanks very much for your help. On Nov 16, 6:41 pm, Alexander Kojevnikov [EMAIL PROTECTED] wrote: Did you use a Google Apps e-mail to sign up? In this case you should use this link: http://appengine.google.com/a/YOURDOMAIN.COM/ On Nov 17, 1:35 am, Explore Appengine [EMAIL PROTECTED] wrote: I just signed up for a Google App Engine account. I sent an SMS to my phone and entered in the confirmation code. When I go tohttp://appengine.google.com I saw the create application button - which I clicked on and successfully created my first application. Using appcfg.py I uploaded my new app to thehttp://myapp.appspot.comdomainand I can see it there correctly in the web browser. If I make a change to a template page on my dev server and appcfg.py update I can see the change reflected on the live site athttp://myapp.appspot.com. So far so good. However, I cannot seem to access the dashboard (or Admin Console) to administer my app. Specifically I want to change the domain from appspot to a google apps domain I own. I would also like to see the statistics for the app. However, when I go tohttp://appengine.google.comallI see is the create application button. I do not see a list of my apps hosted on app engine anywhere or any link to reach this page. I simply cannot figure out how to get to that screen. I am positive I am logged in as the correct user - I can see that account name in the upper right corner. To the left of the My Account | Help | Sign Out links. That emil address displayed is the same one I used in appcfg.py to upload my app to Google App Engine. Can someone help with this? Thanks very much for your time.- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: strange problem with Admin Console - Dashboard on Google App Engine
Alexander, That worked! - I am able to see the Admin Console now. I see that those instructions are on the Google App Engine login page but somehow I missed putting the /a/ part into my url. Thanks very much for your help. You are welcome! The instructions are indeed hard to see, I had the same problem when I started with appengine. I added this to the FAQ, the question is asked quite often: http://knol.google.com/k/marce/app-engine-community-faqs/ --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How do I load a HTML index file from Python
try GAE's templates http://code.google.com/appengine/docs/gettingstarted/templates.html 2008/11/16 Vee Why [EMAIL PROTECTED] I am a complete novice at using python, but can someone help me. I want to load a Index.html home page to my Google App Engine page using python. based on the Google App Engine tutorial, I have this python script, but want the page to load a HTML file called 'index.html', what do I do? My Python script from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class MainPage(webapp.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('Hello, webapp World!') application = webapp.WSGIApplication( [('/', MainPage)], debug=True) def main(): run_wsgi_app(application) if __name__ == __main__: main() --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] google-app-engine-django: Specifying Datastore Path
How do you specify the datastore path with google-app-engine-django? The modified manage.py doesn't seem to include this option, and I think it passes dev_appserver.py a blank config dictionary. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Django Forms - Can I set a key_name?
However, db.Model constructors take a documented key_name parameter. If entity is an instance of a db.Model subclass and 'bug %d'%entity.bug_id can be computed before db.Model.__init__ is called, that can be passed as the key_name parameter On Nov 16, 5:14 pm, djidjadji [EMAIL PROTECTED] wrote: Using the object members that start with an '_', like _key_name, are implementation dependent. They are not part of the GAE-API. The GAE team are allowed to change them any time. You better try to find an alternative method that will work in new versions of GAE, dev or production. 2008/11/9 Bad Dog [EMAIL PROTECTED]: Savraj, I ended up getting this to work: data= bugForm(data=self.request.POST) if data.is_valid(): # Save the data entity=data.save(commit=False) entity._key_name='bug%d'%entity.bug_id entity.put() Note the _key_name ( I found this by running the dev server in the debugger) I haven't tried deploying it yet though. -Bill On Nov 8, 1:07 pm, Savraj [EMAIL PROTECTED] wrote: I have found a workaround -- but I would still like to know if this is possible. On Nov 6, 11:58 am, Savraj [EMAIL PROTECTED] wrote: Hey folks. I love app engine! Quick question -- I am using DjangoFormsto create an entity, as explained here: http://code.google.com/appengine/articles/djangoforms.html Can Isetthis new entity'skey_name? It's not clear from the documentation. I want tosetthe key name so I can quickly look up the entity in the future using Model.get_by_key_name. Thanks in advance for your help! -savraj- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Environment variable DJANGO_SETTINGS_MODULE is undefined
I'm running a basic webapp install, but where ever my code imports google.appengine.ext.db.djangoforms or django.newforms I'm getting the error Environment variable DJANGO_SETTINGS_MODULE is undefined. Since webapp doesn't using Django's settings, what could be causing this? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] How can I add Timer to my GAE application?
I want to add a timer to my GAE application, so I can execute certain logic at given interval. I tried python's Timer object (http:// www.python.org/doc/2.5.2/lib/timer-objects.html), but it doesn't seem to work properly. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Is it a webserver bug!?
Those two URLs give me identical responses. On Nov 15, 6:39 pm, Thesedays [EMAIL PROTECTED] wrote: My app use a para only, but if I supply only one, no record found. If I supply 2 or more paras, there are records found. eg.http://1.latest.cele.appspot.com/product/list?cellId=601name=a return 2 records, but http://1.latest.cele.appspot.com/product/list?cellId=601 return none. I only use 'cellId' as para in my application. Is it a webserver bug of appengine!? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How can I add Timer to my GAE application?
I want to add a timer to my GAE application, so I can execute certain logic at given interval. I tried python's Timer object (http://www.python.org/doc/2.5.2/lib/timer-objects.html), but it doesn't seem to work properly. You cannot use the timer, create threads or spawn processes. See comments in issue 6 for possible workarounds: http://code.google.com/p/googleappengine/issues/detail?id=6 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: 403 - sorry.google.com/sorry - your query looks similar to automated requests
I'm getting this too, on a URL which is a feed URL, returning RSS. So, yes, there are automated requests to that same URL. They are mostly from FeedBurner, since the public feed URL redirects to it, and then FeedBurner reads a private feed URL that is only for it + testing. But it shouldn't be checking it very often. It does appear that it checks it approximately once per subscriber per day, rather than caching the value for all subscribers, which is disappointing. But, since I know when the next feed item will be available, I'm setting the TTL precisely so that the feed expires just as the next item becomes available. This should minimize calls to once per day per subscriber. That quantity of usage shouldn't trigger an error like this. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: getting DeadlineExceededError posting facebook from GAE
happens every time. On Nov 16, 7:41 am, admin go2 [EMAIL PROTECTED] wrote: There is not any bug in your code. Maybe the temporary network problem cause the urlfetch function works incorrectly. =http://go2.appspot.com 2008/11/16 MattG [EMAIL PROTECTED] any idea what I'm doing wrong? GAE log said this operation too 18k msecs. here's there error: DeadlineExceededError at /mybagapp/post_bag_item Request Method: POST Request URL: http://mybagdev.appspot.com/mybagapp/post_bag_item Exception Type: DeadlineExceededError Exception Value: Exception Location: /base/python_lib/versions/1/google/appengine/ runtime/apiproxy.py in Wait, line 161 Traceback (most recent call last): File /base/python_lib/versions/1/django/core/handlers/base.py in get_response 77. response = callback(request, *callback_args, **callback_kwargs) File /base/data/home/apps/mybagdev/1.329321030374107277/mybag/ views.py in post_bag_item 193. curr_user_obj.publish_user_action(request.POST, bag_item.item_name) File /base/data/home/apps/mybagdev/1.329321030374107277/mybag/ user.py in publish_user_action 107. call_id = True ) File /base/data/home/apps/mybagdev/1.329321030374107277/mybag/ gminifb.py in call 170. response = urlfetch.fetch(_fbUrl, payload=args, method=urlfetch.POST, headers = {'Content_type': 'application/ x_www_form_urlencoded'}) File /base/python_lib/versions/1/google/appengine/api/urlfetch.py in fetch 257. apiproxy_stub_map.MakeSyncCall('urlfetch', 'Fetch', request, response) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py in MakeSyncCall 46. stub.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/runtime/ apiproxy.py in MakeSyncCall 245. rpc.Wait() File /base/python_lib/versions/1/google/appengine/runtime/ apiproxy.py in Wait 161. rpc_completed = _apphosting_runtime___python__apiproxy.Wait (self) DeadlineExceededError at /mybagapp/post_bag_item --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Is Memcache really needed?
No doubt Memcache in GAE can improve speed performance, but isn't that something that can be hidden from application developers? GAE could automatically cache things like results for datastore queries in a for application developers transparent way, i.e. I as an application developer would then only have to write code for making say datastore queries and not have to bother about caching and other system-level performance issues which will be taken care of automatically by the App Engine behind the scene. Not only would the application code be cleaner. The caching and other performance optimizations could be done 'optimally' by the Google App Engine team who work directly with the server-side system-level code. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Is Memcache really needed?
And another thing: In a distributed system, must there really be any functional difference between RAM and disk memory? Of course, disk access is magnitudes slower than accessing RAM, but as I see it, at least theoretically, in a distributed system RAM could be made to function as a permanent storage. Think of a single huge distributed virtual memory where data is stored in a duplicated and fail-safe way. Then the disk space would only be used for swapping memory pages to and from faster memory such as RAM (and in the future maybe even other forms of fast memory). Only at the very lowest level (Distributed OS 'kernel' level) would developers need to know if some chunk of memory is physically stored on disk or on some other form of memory. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: 403 - sorry.google.com/sorry - your query looks similar to automated requests
:( I don't even understand the need for this. What does it mean to unfairly [use] the shared resources of the system when there are quotas and (hopefully hopefully please please please) soon the ability to pay for this service rather than rely on Google to provide it for free? Even if my service only accepts automated requests and does so /constantly/ that should not be an issue. It definitely would not be a problem for any of the competitors of this product (who would happily take more of my money in exchange for my increase in traffic). If this, in fact, isn't a bug, and there is any legitimate reason why this code path would ever be called on an App Engine site, this is immediately a deal breaker for me: for my personal projects and for my clients. -J From: Paul Kinlan Sent: Friday, November 14, 2008 11:24 AM To: google-appengine@googlegroups.com Subject: [google-appengine] Re: 403 - sorry.google.com/sorry - your query looks similar to automated requests Hi, The problem I have is that I will have Apis in the future that will be called in ways that will look like bots and without a way of controlling this feature I will have no way to tell my users what will get their service blocked and for how long it will be blocked. I totally understand the need for this and protection it can give us and how it will stop us from unfairly using the shared resources of the system because of malicious actions of users of our sites, but as developers and the people responsible to our users and clients we can't be blind to how this feature works and how we can help them when they get blocked by this feature. Hopefully this is a bug or a glitch, because otherwise it is an example of how a feature has have been introduced without the users (us) knowing. I have lots of experience and frustrations with vendors not change controlling services adequatly. Kind Regards, Paul. 2008/11/14 [EMAIL PROTECTED] [EMAIL PROTECTED] As far as I can tell, this just started. Maybe we missed some notice or change in policy? Perhaps someone could point me to the documentation. More suggestions: Definitely my sites require repeated automated queries. One site records weather related data. The other site records process statistics on multiple computers. I could design each input and request to authenticate. However, I'm hoping this is just a bug. Regards, Mike Chirico On Nov 14, 1:14 pm, Adam [EMAIL PROTECTED] wrote: In my case it's the user's browser that seems to be causing this, after about 20 seconds of browsing on the map. Though before today, I'd never seen it, so I'm hoping somethings changed that can be un-changed... A On Nov 14, 1:08 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Yeah. I'm experiencing the same problem. My application records and processes weather data - so yes, there is an automated process hitting the site. It would be good if, as administrators, we could create a white list of IP addresses. Regards, Mike Chirico On Nov 14, 12:32 pm, Adam [EMAIL PROTECTED] wrote: I've started getting redirected here: http://sorry.google.com/sorry/?continue=http://www.fyood.com/ My app has a map page, which sends a lot of requests to the site as the map moves, though I haven't seen this problem before. Any thoughts, or guidelines on # of requests/second from one IP? Adam --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Is Memcache really needed?
And how well does the Memcache scale? Is a sharded Memcache needed to prevent a performance bottleneck when the load increases? Is it similar to a sharded counter for datastore records: When the load is low then using a single counter for datastore records works fine, but when the load increases then the single counter becomes a bottleneck when it is being hit by many simultaneous requests. Or is the Memcache already sharded behind the scene, or in some other way already made to scale well? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Is Memcache really needed?
Interesting questions. I don't know anything (beside the API) about it. But the amount of available memcache is limited. I want to have as much as possible for me and I am willing to put some coding effort in to get my slice. And I hope others are lazy and put in less effort or none at all and leave a bigger slice of memcache for me, so I hope memcache won't ever be done automatically. Anything wrong with this way of thinking (beside of the moral aspect) ? regards Roberto On Nov 17, 4:56 am, Anders [EMAIL PROTECTED] wrote: And how well does the Memcache scale? Is a sharded Memcache needed to prevent a performance bottleneck when the load increases? Is it similar to a sharded counter for datastore records: When the load is low then using a single counter for datastore records works fine, but when the load increases then the single counter becomes a bottleneck when it is being hit by many simultaneous requests. Or is the Memcache already sharded behind the scene, or in some other way already made to scale well? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: 403 - sorry.google.com/sorry - your query looks similar to automated requests
I actually think it was a temporary glitch, I have not seen it at all since when we first reported it. I am in the same boat as Adam, I designed my page to make lots of simultaneous request (via an xmlhttprequest) instead of doing all the hard work in the main web page... Its a hard one, because if google tell us the thresholds for triggering this then it is open to abuse up unitl that limit. You can stop one person from abusing the site by blocking them from making requests over this threshold, how would you do it for 1000 machines from different networks hitting your site to just below the threshold regularly. To get to Jays argument. although I am not keen on it, as per my original email, I have had time over the weekend to think about it. I think we all need protection from malicious use, after all, everything on this service will be directly monetisable (above the free quota) and with the services that I run, I don't want to spend money on people who are not interested in my site. I would however like some control over what would be blocked, after all I will be exposing API's to clients when the GAE is out of beta and if it was a traditional unix host (for instance) I would have control over the ip addresses/ranges that have access to my site. The point I was making about unfairly using a shared system is that unlike a traditional host where you have own machine on the network, GAE is not like that, your app potentially sits alongside my application, and if for some reason your site is getting hit by bots, it could easily mean that my site is affected. Obviously, I don't know Google infrastructure and it could be vast array of machines already set up for the GAE so the likleihood of you affecting my site may be minimal. Anyway, i think this issue may have been a storm in a tea cup (unless anyone is still get this error). Paul. 2008/11/17 Adam [EMAIL PROTECTED] On Nov 17, 1:07 am, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: :( I don't even understand the need for this. If/when I get to the point of paying for quota overages, it would be nice if there was built in protection from someone setting up a cron process to essentially drain money from my bank account by creating 'fake' traffic. I'd just like some clarity on how this test works, so I don't trigger it with AJAX calls on my page. CPU warnings made me thing 20 quick calls were better than 1 or 2 slow calls, but if that shuts down my app for a user after 20 seconds of navigation on the map maybe it's not. A --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Is Memcache really needed?
The documentation says: ...Memcache...is accessible by multiple instances of your application I don't know if this means that each server instance has its own Memcache or that all the instances access a single Memcache. In any case, when the Memcache needs to be invalidated for a particular key, then the Memcache needs to be invalidated for all instances of the application. So the Memcache cannot be entirely separate for each instance of the application. I have seen many developers implement all kinds of clever caches which have been like reinventing the wheel many times over, plus caching often leads to nasty bugs in the code and I suspect that the performance in many cases is in practice not significantly increased or not increased at all. A lot of time, effort and resources spent to create messy caching code that was never needed in the first place and only makes the application much more difficult, costly and time- consuming to develop, maintain and modify. On Nov 17, 8:13 am, Roberto Saccon [EMAIL PROTECTED] wrote: Interesting questions. I don't know anything (beside the API) about it. But the amount of available memcache is limited. I want to have as much as possible for me and I am willing to put some coding effort in to get my slice. And I hope others are lazy and put in less effort or none at all and leave a bigger slice of memcache for me, so I hope memcache won't ever be done automatically. Anything wrong with this way of thinking (beside of the moral aspect) ? regards Roberto On Nov 17, 4:56 am, Anders [EMAIL PROTECTED] wrote: And how well does the Memcache scale? Is a sharded Memcache needed to prevent a performance bottleneck when the load increases? Is it similar to a sharded counter for datastore records: When the load is low then using a single counter for datastore records works fine, but when the load increases then the single counter becomes a bottleneck when it is being hit by many simultaneous requests. Or is the Memcache already sharded behind the scene, or in some other way already made to scale well? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: My logs are starting to bite into my storage quota. Can I reclaim this space?
Yes, this is entirely possible. I did a lot of creating and deleting because I was doing load testing. Will that space be reclaimed? By the way, I noticed that after today's database maintenance my app got a couple of megabytes back. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---