[google-appengine] Re: is it possible to clear error logs
My question is if it is posible to delete some error logs. Prior versions of my application had bugs but now they are fixed and even if I delete the version and re-upload the app old logs are still there. It should be great clearing that windows of old stuff You cannot delete entries from the error log. However, if you change the version in the app.yaml, upload your app, and make the new version default - you will get a clean log. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Crappiest Product from Google
Feris: Next time when I'm any Google Developer or Python Developer house for lunch, I will go with my own plates. I doubt they will have their own plates in their house. :) I'm sure I entered into wrong time assuming Google development environment will be friendly enough with less docs. Looks like New comers need to run here and there to get their application working. This is to discuss problems we are facing and the users experience for Google to understand. I hope I expressed the same. I don't understand what you mean by Productive? /Kans On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote: Hi Kannaiyan, This is not a productive discussions. If you feel not right with Google Apps, then it is not for you, ok ? Go with something else like Amazon EC2. On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote: Never worked with Python Guys. (Once I complete Python, Google will go for Cobra :) ) Regards, Feris --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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 possible to clear error logs
oh,really; when I can release a beta version, I will be change the version. On Nov 4, 4:22 pm, Alexander Kojevnikov [EMAIL PROTECTED] wrote: My question is if it is posible to delete some error logs. Prior versions of my application had bugs but now they are fixed and even if I delete the version and re-upload the app old logs are still there. It should be great clearing that windows of old stuff You cannot delete entries from the error log. However, if you change the version in the app.yaml, upload your app, and make the new version default - you will get a clean log. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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 to get ManyToMany fields
I hava ManyToMany field in a entity class Memory(db.Model): author = db.UserProperty() title = db.StringProperty() content = db.StringProperty(multiline=True) year = db.StringProperty() date = db.DateTimeProperty(auto_now_add=True) friends = db.ListProperty(db.Key) class Friends(db.Model): friend_type = db.StringProperty() email = db.EmailProperty() name = db.StringProperty() @property def memories(self): return Memory.gql(where friends = :1,self.key()) - memory_query = Memory.all().order('-date') - h1My Memory/h1 hr {% for memory in memories %} {% if memory.author %} b{{ memory.author.nickname }}/b wrote: {% else %} An anonymous person wrote: {% endif %} blockquote{{ [EMAIL PROTECTED]/blockquote p {% for friend in memory.friends %} {{friend.Key}} {{friend.name}} {{friend.email}} {%endfor%} /p p{{memory.content}}/p {% endfor %} - I could not get the friends info/ - appengine dataviewer show the following: [datastore_types.Key.from_path('Friends', 202L, _app=u'myom'), datastore_types.Key.from_path('Friends', 8L, _app=u'myom')] --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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 to get ManyToMany fields
db.ListProperty(db.Key) does not automatically de-reference entities, you will need to do it yourself before passing them to the template. On Nov 4, 7:13 pm, mawei1981 [EMAIL PROTECTED] wrote: I hava ManyToMany field in a entity class Memory(db.Model): author = db.UserProperty() title = db.StringProperty() content = db.StringProperty(multiline=True) year = db.StringProperty() date = db.DateTimeProperty(auto_now_add=True) friends = db.ListProperty(db.Key) class Friends(db.Model): friend_type = db.StringProperty() email = db.EmailProperty() name = db.StringProperty() @property def memories(self): return Memory.gql(where friends = :1,self.key()) - memory_query = Memory.all().order('-date') - h1My Memory/h1 hr {% for memory in memories %} {% if memory.author %} b{{ memory.author.nickname }}/b wrote: {% else %} An anonymous person wrote: {% endif %} blockquote{{ [EMAIL PROTECTED]/blockquote p {% for friend in memory.friends %} {{friend.Key}} {{friend.name}} {{friend.email}} {%endfor%} /p p{{memory.content}}/p {% endfor %} - I could not get the friends info/ - appengine dataviewer show the following: [datastore_types.Key.from_path('Friends', 202L, _app=u'myom'), datastore_types.Key.from_path('Friends', 8L, _app=u'myom')] --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Google App Engine Roadmap - Now Published
Yeah, John has a point... when the billing system is implemented, will you guys relax the limits on CPU optimization per request? Avoiding infinite loops or deadlocks is fine, but there are resource hungry calculations we have to do... I'm gonna need to calculate the centers and distributions of tens of thousands of map points, and its a no starter / course in advanced mathematics and algorithms if I can't just use brute force. Sudhir On Nov 4, 3:14 am, johnP [EMAIL PROTECTED] wrote: I still don't understand one aspect of Google's approach - regarding CPU limits. For example, consider my application, a personal organizer. Each page view needs to tie together disparate entities; there are lots of writes; etc. The final result of the application is the creation of reports (using reportlab). Here, I need to make some queries, perform some calculations, etc. In setting up the organizer, there are several tasks that are somewhat large. I get CPU warnings for being, say, 3-5 times over the average limit. Some common pageviews are right around the limit (1.0, 1.1 times over the limit). Finally, when generating reports, I might get some warnings that my app is 4-5 times over the limit. The question is: is an application of my sort suitable for Appengine? Obviously, I'll optimize, and hope to get a majority of my common pageviews into limits. But it is inevitable that a significant percentage of requests will exceed CPU quotas. I am willing to pay money for exceeding quotas... There is still a significant amount of development ahead. If it appears that my task is a non-starter for Appengine, I'd prefer to switch to pure django earlier rather than later. Can anyone provide some enlightenment for my dilemma? Thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: how to get ManyToMany fields
the friends is a sub-list of memory entity. Why not load the list on lazy mode. Faint, I will manual get the lists . But how can I put the sub-list to the object. does google provide sample code on this. On Nov 4, 4:30 pm, Alexander Kojevnikov [EMAIL PROTECTED] wrote: db.ListProperty(db.Key) does not automatically de-reference entities, you will need to do it yourself before passing them to the template. On Nov 4, 7:13 pm, mawei1981 [EMAIL PROTECTED] wrote: I hava ManyToMany field in a entity class Memory(db.Model): author = db.UserProperty() title = db.StringProperty() content = db.StringProperty(multiline=True) year = db.StringProperty() date = db.DateTimeProperty(auto_now_add=True) friends = db.ListProperty(db.Key) class Friends(db.Model): friend_type = db.StringProperty() email = db.EmailProperty() name = db.StringProperty() @property def memories(self): return Memory.gql(where friends = :1,self.key()) - memory_query = Memory.all().order('-date') - h1My Memory/h1 hr {% for memory in memories %} {% if memory.author %} b{{ memory.author.nickname }}/b wrote: {% else %} An anonymous person wrote: {% endif %} blockquote{{ [EMAIL PROTECTED]/blockquote p {% for friend in memory.friends %} {{friend.Key}} {{friend.name}} {{friend.email}} {%endfor%} /p p{{memory.content}}/p {% endfor %} - I could not get the friends info/ - appengine dataviewer show the following: [datastore_types.Key.from_path('Friends', 202L, _app=u'myom'), datastore_types.Key.from_path('Friends', 8L, _app=u'myom')] --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Crappiest Product from Google
Don't think you are just given simply to enjoy the platform. That is one side of it. Google evaluates every user experience which in turns gives them a business metrics to improve their business. You are partly denoting your time for free to improve Google's business whether you make any productive application or not. /Kans On Nov 4, 6:07 am, Sudhir [EMAIL PROTECTED] wrote: Besides, app engine was obviously designed for us lesser mortals who picked up python only two months ago and are happily writing code that works really well, hosting it on a free platform that gives really good response times and on an API that lets us do quite a lot, and with a little creative pushing, anything we want. Obviously, we're stupid. Besides, its not fair that google is only providing a platform that lets you build your ideas any way you want, experiment to your heart's content, and charges you only long after your app has become profitable. They ought to send people to cook my meals and clean my room too. BTW, @The AppEngine Team, can I get a Google plate for the undying support I'm giving you guys? I might have people over for lunch :D On Nov 4, 6:57 pm, Sudhir [EMAIL PROTECTED] wrote: I'm not sure which language automatically loads all the possible classes and modules when every line of code is run I've been developing only a year or so, but a language that does that isn't something I'd use. Maybe we should rewrite C# to load all the .NET libraries automatically, and configure PHP to scan all the .php files on the hard disk and include them. I'm sure every command would then run without any further configuration :D While we're at it why not load the whole internet for every search query? On Nov 4, 1:26 pm, Kannaiyan [EMAIL PROTECTED] wrote: Feris: Next time when I'm any Google Developer or Python Developer house for lunch, I will go with my own plates. I doubt they will have their own plates in their house. :) I'm sure I entered into wrong time assuming Google development environment will be friendly enough with less docs. Looks like New comers need to run here and there to get their application working. This is to discuss problems we are facing and the users experience for Google to understand. I hope I expressed the same. I don't understand what you mean by Productive? /Kans On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote: Hi Kannaiyan, This is not a productive discussions. If you feel not right with Google Apps, then it is not for you, ok ? Go with something else like Amazon EC2. On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote: Never worked with Python Guys. (Once I complete Python, Google will go for Cobra :) ) Regards, Feris --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Crappiest Product from Google
If you don't wish to listen you can go away. I will explain my experience and the difficulties I faced around. If you think that is troubling you, you need to stay away from this list. I'm sure many more to come. Take care of your time. Thanks. /Kans On Nov 3, 11:50 pm, David Symonds [EMAIL PROTECTED] wrote: On Mon, Nov 3, 2008 at 11:42 PM, Kannaiyan [EMAIL PROTECTED] wrote: I hope you all understand my intention. Yes, it seems your intention is to cause trouble. Please go away. Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: newbie question : multiline field ... Where are the br
Nobody can help me ? Is it a real stupid question ? Well I will search again. On 3 nov, 15:17, dme69 [EMAIL PROTECTED] wrote: Hello all, I'm really new to python and GAE. I'm trying the guestbook tutorial and My question is about the display result of the content. This is a multiline field but when it is displayed, the return (br/br) at the end of each line is replaced by a space character. How can I display multi-lines as i have write multi-lines when signing the guestbook ? Thanks for your help. Dominique. PS : Sorry for my english. I'm working on it too ! ;-) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Crappiest Product from Google
Sudhir: Your understanding it wrong. I'm not asking gdata to work without importing gdata to the application. The crappy work which we do we here is, everyone is downloading the source and attaching to their own application. Have you ever done anything on Gdata with AppEngine? It is not just the statement import gadata alone. You also need to include the source for it too. /Kans On Nov 4, 5:57 am, Sudhir [EMAIL PROTECTED] wrote: I'm not sure which language automatically loads all the possible classes and modules when every line of code is run I've been developing only a year or so, but a language that does that isn't something I'd use. Maybe we should rewrite C# to load all the .NET libraries automatically, and configure PHP to scan all the .php files on the hard disk and include them. I'm sure every command would then run without any further configuration :D While we're at it why not load the whole internet for every search query? On Nov 4, 1:26 pm, Kannaiyan [EMAIL PROTECTED] wrote: Feris: Next time when I'm any Google Developer or Python Developer house for lunch, I will go with my own plates. I doubt they will have their own plates in their house. :) I'm sure I entered into wrong time assuming Google development environment will be friendly enough with less docs. Looks like New comers need to run here and there to get their application working. This is to discuss problems we are facing and the users experience for Google to understand. I hope I expressed the same. I don't understand what you mean by Productive? /Kans On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote: Hi Kannaiyan, This is not a productive discussions. If you feel not right with Google Apps, then it is not for you, ok ? Go with something else like Amazon EC2. On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote: Never worked with Python Guys. (Once I complete Python, Google will go for Cobra :) ) Regards, Feris --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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 it possible to clear error logs
My question is if it is posible to delete some error logs. Prior versions of my application had bugs but now they are fixed and even if I delete the version and re-upload the app old logs are still there. It should be great clearing that windows of old stuff --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Trouble with Zipfile, Django 1.0, GAE Django Helper
Hi Kosei - Any idea why I can't import newforms in your package? On Nov 3, 10:38 pm, Kitahara [EMAIL PROTECTED] wrote: Hi Dylan. I think ,it will work for you.http://github.com/Surgo/django-on-gae/ it work for zip archiveddjango1.0 onGAEwith Helper. thank you. Kosei. On Nov 3, 2:07 pm, Dylan Lorimer [EMAIL PROTECTED] wrote: So I'm trying to get the app enginedjangohelper working with the zipfile example fordjango1.0, and running into a problem. I should also mention that I'm using the bootstrap method in theGAE djangohelper readme. I'm also using version 66 of thedjangohelper (pulled via svn.) I created thedjango.zip following the exact instructions athttp://code.google.com/appengine/articles/django10_zipimport.html. So, the trouble I'm having is that after dropping indjango.zip into the root level of my application folder, I start the app server, and in the browser see the following error(s): Traceback (most recent call last): File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 2413, in _HandleRequest base_env_dict=env_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 348, in Dispatch base_env_dict=base_env_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 1848, in Dispatch self._module_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 1766, in ExecuteCGI reset_modules = exec_script(handler_path, cgi_path, hook) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 1664, in ExecuteOrImportScript script_module.main() File /Users/edylan/Development/JaceyPhotographs2/main.py, line 48, in main util.run_wsgi_app(application) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/ext/webapp/util.py, line 76, in run_wsgi_app result = application(env, _start_response) File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/ core/handlers/wsgi.py, line 228, in __call__ File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/ core/handlers/base.py, line 40, in load_middleware continue ImproperlyConfigured: Error importing middleware django.contrib.auth.middleware: No module named contrib.auth.middleware looks like the error is in mydjango.zip that I'm creating, but I'm not sure how to fix this. Any ideas? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] DataStore examples, reference, tutorial
I can't seem to find much on this which explains how to do anything more complicated that saving/returning a single entity. I've got a GWT app up and running on GAE, and I can save and retrieve data no problem, but I need to be able to add the kind of functionality that JOINs let you do in SQL Does anyone have any links to good references or tutorials? So for example, I have (in a relational DB) a customer table, an order table and an order-line table (i.e.a product id and a quantity) - how would I go about doing this in the DataStore? The customer has signed in and wants to see all outstanding orders for a certain product. Sorry if this is a question which comes up twice a week here, but I can't find the answer Cheers, Ian --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Google App Engine Roadmap - Now Published
On Mon, Nov 3, 2008 at 8:14 PM, johnP wrote: There is still a significant amount of development ahead. If it appears that my task is a non-starter for Appengine, I'd prefer to switch to pure django earlier rather than later. Can anyone provide some enlightenment for my dilemma? Thanks. I think this is a common concern. I don't want my app offline because I'm exceeding limits. Instead, I'd like to pay to be allowed to exceed limits - and it is on Google plans to give us this option (from the roadmap: Billing: developers can pay for more resource usage). I have great expectations and I'm waiting for it. -- rodrigo --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] Doubts regarding Datstore Object backward computability
Hi, I would like to know the possibility in Google App Engine Datastore to accommodate with my existing Database. Here is my common doubts: 1. Does Datastore has a backward capability to import the existing DB(say MySQL for instance) structure and convert it to work with Bigtable ? 2. Does Datstore gives any flexibility to export the Datstore objects (So we can use it with other DB) ? I eagerly waiting for the replay to see how this going to work.. Regards Madhavan C --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Datastore Entity
On Oct 25, 2:49 am, yejun wrote: Actually, you still need to supply a empty dict object anykind = type(KindName, (db.Expando,), dict()) obj1 = anykind() obj1.put() Here anykind is just a variable name, it is not necessary to match KindName, but KindName is the name used for datastore. hey, interesting stuff here. couple of questions: 1. is there a way to retrieve a list of kinds used by an app, or we need to keep track of them? 2. i have a case where about 300 users have entity collections from various models. these collections vary in size from 10 to 10 thousand records, depending on the user. i don't need to fetch data from all users at any point. so, from a performance perspective, is it better to give each user its own kind (say user1_kindname, user2_kindname etc), and fetch directly from them depending on the user, or it doesn't matter and i can just use a single kind for each model, plus a reference property to the user? hope this makes sense. :-) thanks, -- rodrigo --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] Bug in dev_appserver.py and email dispatching?
Greetings. If I update the code that dispatches an email from the app while running in the dev_appserver.py without re-starting the server, the next few calls to the same method start throwing the errors below. Can you please explain what is happening and why this part of the App Engine is sensitive to changes, whereas others don't care? The error is unrecoverable and once it occurs it's necessary to re-start the devevelopment app server. Errors immediately below, source code after. Thanks in advance. INFO 2008-11-04 16:20:39,058 dev_appserver.py] GET /static/ email_bookmark.html?8|Time%20Magazine|http%3A//cruzapp.com/| [EMAIL PROTECTED] HTTP/1.1 200 - INFO 2008-11-04 16:20:39,089 dev_appserver.py] GET /favicon.ico HTTP/1.1 200 - INFO 2008-11-04 16:20:39,118 dev_appserver.py] GET /styles/ bookmarksbin.css HTTP/1.1 200 - INFO 2008-11-04 16:20:39,149 dev_appserver.py] GET /images/ BookmarksBin-logo.gif HTTP/1.1 200 - INFO 2008-11-04 16:20:40,243 bookmarksbin.py] action = share INFO 2008-11-04 16:20:40,271 mail_stub.py] MailService.Send INFO 2008-11-04 16:20:40,272 mail_stub.py] From: [EMAIL PROTECTED] INFO 2008-11-04 16:20:40,272 mail_stub.py] To: [EMAIL PROTECTED] INFO 2008-11-04 16:20:40,272 mail_stub.py] Subject: BookmarksBin shared link INFO 2008-11-04 16:20:40,272 mail_stub.py] Body: INFO 2008-11-04 16:20:40,273 mail_stub.py] Content-type: text/ plain INFO 2008-11-04 16:20:40,273 mail_stub.py] Data length: 112 INFO 2008-11-04 16:20:40,273 mail_stub.py] - Hello, A BookmarksBin user thought you may enjoy reading this: http://cruzapp.com/ - ERROR2008-11-04 16:20:40,298 __init__.py] Traceback (most recent call last): File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ ext/webapp/__init__.py, line 501, in __call__ handler.post(*groups) File /Users/ciurana/development/AppEngine/bookmarksbin/ bookmarksbin.py, line 223, in post bookmarks = self._processAction() File /Users/ciurana/development/AppEngine/bookmarksbin/ bookmarksbin.py, line 203, in _processAction self._shareBookmark() File /Users/ciurana/development/AppEngine/bookmarksbin/ bookmarksbin.py, line 184, in _shareBookmark self._dispatchEmailTo(email, nID) File /Users/ciurana/development/AppEngine/bookmarksbin/ bookmarksbin.py, line 176, in _dispatchEmailTo message.send() File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/mail.py, line 474, in send make_sync_call('mail', self._API_CALL, message, response) File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/apiproxy_stub_map.py, line 46, in MakeSyncCall stub.MakeSyncCall(service, call, request, response) File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/mail_stub.py, line 62, in MakeSyncCall attr(request, response) File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/mail_stub.py, line 217, in _Send self._SendSMTP(mime_message, smtp_lib) File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/mail_stub.py, line 153, in _SendSMTP smtp.sendmail(mime_message['From'], tos, str(mime_message)) File /System/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/email/message.py, line 116, in __str__ return self.as_string(unixfrom=True) File /System/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/email/message.py, line 128, in as_string from email.Generator import Generator SystemError: Parent module 'email' not loaded INFO 2008-11-04 16:20:40,314 dev_appserver.py] POST / HTTP/1.1 500 The code that dispatches the email: def _dispatchEmailTo(self, email, nID): owner = Owner.getCurrent() bookmark = memcache.get(self._bookmarkKey(nID)) if bookmark is None: bookmark = Bookmark.get_by_id(nID, owner) memcache.set(self._bookmarkKey(nID), bookmark) message = mail.EmailMessage( sender = owner.email, subject = BookmarksBin shared link) message.to = email message.body = Hello, A BookmarksBin user thought you may enjoy reading this:
[google-appengine] Re: newbie question : multiline field ... Where are the br
It is not a stupid question. There are no br tags in the text (why don't you just display the text to see what you get?) There are certainly no /br tags because they are not legal - it's br or br/ or br / - but anyway, they are not there. A text area *should* return CRLF (h0d0a) but some browsers and/or *nix OSs will return just a LF so you have to strip out the CRs and convert LFs to brs (HTML) or br/s (XHTML) though in your case I think you can just replace \n's with the br Ian http://examples.roughian.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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: DataStore examples, reference, tutorial
On Mon, Nov 3, 2008 at 9:07 PM, Ian Bambury [EMAIL PROTECTED] wrote: I can't seem to find much on this which explains how to do anything more complicated that saving/returning a single entity. I've got a GWT app up and running on GAE, and I can save and retrieve data no problem, but I need to be able to add the kind of functionality that JOINs let you do in SQL There is no such thing as JOINs for the datastore. You need to do what is called denormalisation, which is effectively duplicating data and putting it everywhere you need it. The customer has signed in and wants to see all outstanding orders for a certain product. That doesn't sound like it needs a JOIN anyway. You'd get the current customer ID, get that production ID, and them filter on the orders. If you flesh out your example a bit more, we can help you further. Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: more complicated counters/ratings (sorting?)
If I don't use transactions (with the ratings in the same entity groups as the shards they are being served by) then I can't be guaranteed I don't accidentally drop or double count ratings in the case of errors. :( Is the idea that you are recommending I just say oh well, its a drop in the bucket? -J -- From: Alexander Kojevnikov [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 1:12 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) ... I would use shards to track the ratings (but without using transactions) and from time to time re-calculate the average from the shards and keep it with the product. This would allow indexing by the average rating, without many sacrifices. ... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Google App Engine Roadmap - Now Published
On Nov 4, 5:08 am, Rodrigo Moraes [EMAIL PROTECTED] wrote: On Mon, Nov 3, 2008 at 8:14 PM, johnP wrote: roadmap: Billing: developers can pay for more resource usage). I -- rodrigo It's not clear what paying for more resource usage means. Yes, you can buy more traffic, storage, etc. It is *not* clear that apps exceeding quotas for CPU-intensive tasks will not be taken offline. I hope the Google folks can give us a clear answer here. We need to to understand if the platform is suitable for our needs. I am willing to deal with BigTable datastore limitations if my application is ultimately viable for the platform. If not, I'd prefer to develop with all the capabilities of SQL at my disposal. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Bug in dev_appserver.py and email dispatching?
Hi, This was a reported issue, http://code.google.com/p/googleappengine/issues/detail?id=182, but I had believed it was fixed. What version of the SDK are you using? Is this with 1.1.5? -Marzia On Tue, Nov 4, 2008 at 8:37 AM, pr3d4t0r [EMAIL PROTECTED] wrote: Greetings. If I update the code that dispatches an email from the app while running in the dev_appserver.py without re-starting the server, the next few calls to the same method start throwing the errors below. Can you please explain what is happening and why this part of the App Engine is sensitive to changes, whereas others don't care? The error is unrecoverable and once it occurs it's necessary to re-start the devevelopment app server. Errors immediately below, source code after. Thanks in advance. INFO 2008-11-04 16:20:39,058 dev_appserver.py] GET /static/ email_bookmark.html?8|Time%20Magazine|http%3A//cruzapp.com/|http://cruzapp.com/%7C [EMAIL PROTECTED] HTTP/1.1 200 - INFO 2008-11-04 16:20:39,089 dev_appserver.py] GET /favicon.ico HTTP/1.1 200 - INFO 2008-11-04 16:20:39,118 dev_appserver.py] GET /styles/ bookmarksbin.css HTTP/1.1 200 - INFO 2008-11-04 16:20:39,149 dev_appserver.py] GET /images/ BookmarksBin-logo.gif HTTP/1.1 200 - INFO 2008-11-04 16:20:40,243 bookmarksbin.py] action = share INFO 2008-11-04 16:20:40,271 mail_stub.py] MailService.Send INFO 2008-11-04 16:20:40,272 mail_stub.py] From: [EMAIL PROTECTED] INFO 2008-11-04 16:20:40,272 mail_stub.py] To: [EMAIL PROTECTED] INFO 2008-11-04 16:20:40,272 mail_stub.py] Subject: BookmarksBin shared link INFO 2008-11-04 16:20:40,272 mail_stub.py] Body: INFO 2008-11-04 16:20:40,273 mail_stub.py] Content-type: text/ plain INFO 2008-11-04 16:20:40,273 mail_stub.py] Data length: 112 INFO 2008-11-04 16:20:40,273 mail_stub.py] - Hello, A BookmarksBin user thought you may enjoy reading this: http://cruzapp.com/ - ERROR2008-11-04 16:20:40,298 __init__.py] Traceback (most recent call last): File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ ext/webapp/__init__.py, line 501, in __call__ handler.post(*groups) File /Users/ciurana/development/AppEngine/bookmarksbin/ bookmarksbin.py, line 223, in post bookmarks = self._processAction() File /Users/ciurana/development/AppEngine/bookmarksbin/ bookmarksbin.py, line 203, in _processAction self._shareBookmark() File /Users/ciurana/development/AppEngine/bookmarksbin/ bookmarksbin.py, line 184, in _shareBookmark self._dispatchEmailTo(email, nID) File /Users/ciurana/development/AppEngine/bookmarksbin/ bookmarksbin.py, line 176, in _dispatchEmailTo message.send() File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/mail.py, line 474, in send make_sync_call('mail', self._API_CALL, message, response) File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/apiproxy_stub_map.py, line 46, in MakeSyncCall stub.MakeSyncCall(service, call, request, response) File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/mail_stub.py, line 62, in MakeSyncCall attr(request, response) File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/mail_stub.py, line 217, in _Send self._SendSMTP(mime_message, smtp_lib) File /Users/ciurana/Documents/publishing/Apress/GoogleAppEngine/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine- default.bundle/Contents/Resources/google_appengine/google/appengine/ api/mail_stub.py, line 153, in _SendSMTP smtp.sendmail(mime_message['From'], tos, str(mime_message)) File /System/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/email/message.py, line 116, in __str__ return self.as_string(unixfrom=True) File /System/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/email/message.py, line 128, in as_string from email.Generator import Generator SystemError: Parent module 'email' not loaded INFO 2008-11-04 16:20:40,314 dev_appserver.py] POST / HTTP/1.1 500 The code that dispatches the email: def _dispatchEmailTo(self, email, nID): owner = Owner.getCurrent() bookmark = memcache.get(self._bookmarkKey(nID)) if bookmark is None:
[google-appengine] Re: DataStore examples, reference, tutorial
Hi David, Thanks for the reply. I realise there is no JOIN, hence the question. Let's say I am converting an existing SQL-type app There are tables for Customer Order OrderLine Product and I need to extract all order lines for a customer for a particular product Acme Ltd - Order 123 - Quantity 24 - Desciption: Can Of Beer Acme Ltd - Order 132 - Quantity 12 - Desciption: Can Of BeerAcme Ltd - Order 155 - Quantity 48 - Desciption: Can Of Beer All this information is in different tables. You say to keep all the data duplicated in one place, which is OK, but what if Can Of Beer was a typo and needs to be changed to Can Of Lager? The real app will have many hundreds of thousands of records which will need to be updated and updating the status of a few hundreds of emails on GMail takes for ever Ian http://examples.roughian.com 2008/11/4 David Symonds [EMAIL PROTECTED] On Mon, Nov 3, 2008 at 9:07 PM, Ian Bambury [EMAIL PROTECTED] wrote: I can't seem to find much on this which explains how to do anything more complicated that saving/returning a single entity. I've got a GWT app up and running on GAE, and I can save and retrieve data no problem, but I need to be able to add the kind of functionality that JOINs let you do in SQL There is no such thing as JOINs for the datastore. You need to do what is called denormalisation, which is effectively duplicating data and putting it everywhere you need it. The customer has signed in and wants to see all outstanding orders for a certain product. That doesn't sound like it needs a JOIN anyway. You'd get the current customer ID, get that production ID, and them filter on the orders. If you flesh out your example a bit more, we can help you further. Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: more complicated counters/ratings (sorting?)
I wouldn't put ratings into the same entity group as the product (or its shards). If you're going to have 100K ratings per product, as you said this will lead to high contention. With so many ratings it would not make much difference if you don't take all of them into account or if you don't provide real-time average rating. I would use shards to track the ratings (but without using transactions) and from time to time re-calculate the average from the shards and keep it with the product. This would allow indexing by the average rating, without many sacrifices. Now, the interesting part is how to trigger re-calculation. Until Google fixes issue 6 there are only two obvious solutions: ping from an external box or do your processing selectively in the usual request handlers. An example of the latter would be updating the average on each X rating and/or each Y seconds. Hope any of this makes sense. On Nov 3, 9:33 am, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: Ok, so I've watched Brett's talk on Building Scalable Web Apps with App Engine, and I've read tons now on entity groups and transactions, but I'm just completely at a loss to come up with an efficient way to model what seems like a very common scenario. :( If anyone is willing to chime in with ideas I'd be really appreciative. Here's the basic idea: a number of products a number of users users rate products 1-5 products have an average rating users can sort products by rating Equivalent, and closer to the existing examples: a number of blog posts a number of users users post (many, many) comments on blog posts blog posts have a comment count users can list sort posts by comment count The first problem is that the counter examples I've seen haven't actually needed to count anything that also needed to be in the datastore. As near as I can tell, to accurately count a set of ratings for a particular product I would need to have an entity group per statistics shard that also contained all of the actual user/product/rating entities. If a user also was able to update their rating/comment this means that the assertion that it is easy to later change the number of shards becomes false: if I were to break it up into five groups (let's say) and get a hundred thousand ratings for some product (very likely in my case) then each group is going to have 20,000 entities in it already (with high contention for those updates, even though they don't affect the count), and I have no real way to (safely) move them between shards later. The second problem is that the existing discussions I've seen of this problem ignore sorting by these statistics. Example: not only might you want the total number of comments posted on a blog, you also might want to find blog entries most discussed (those with the most comments). The mechanisms of using memcache to store a consistent/efficient count thereby no longer work very well: you need to store the information in an indexed entity. Also, you can't afford for the information to ever be out of date: if you have a few thousand products in your product catalog and you don't have an up-to-date count for any of them, it isn't an option to rebuild the master statistics for all of them before running your query. This means you need to be constantly maintaining the updated global counts as you change things, and if you want them to be safe/accurate that will need to be done in a transaction, which pretty much pulls the entire product/post into a single giant entity group. Put these together and it seems like this very website concept simply /requires/ a really slow implementation :(. Specifically: every product/post gets a single entity group, and the comments/ratings are stored in it, with a single master count stored on the product/post entity (updated via transactions as comments/ratings added); thereby causing massive contention as everyone immediately swoops in to put their comment/rating in. If this is simply true then I'll just go ahead and build this and feel ok in that I did everything I could, but as long as I have doubts I'm finding it difficult to force myself to lock this scheme into my data ;P. -J --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: more complicated counters/ratings (sorting?)
You keep total rating values and number of users rated both in two shard counters which are not belong to your product entity group. Then update your average rating for your product's entity group periodically like once every 100 request or 1000 request depends on your need. So the concurrency level is only determined by the number of shards not by number of users or products. Even though the transfer data from shard counter to your entity group is non-transactional, but the updating of raw records are transactional, the data will be corrected next time when you update average rate. Updating will only takes the time of a dozen of datastore read and 1 put. On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: If I don't use transactions (with the ratings in the same entity groups as the shards they are being served by) then I can't be guaranteed I don't accidentally drop or double count ratings in the case of errors. :( Is the idea that you are recommending I just say oh well, its a drop in the bucket? -J -- From: Alexander Kojevnikov [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 1:12 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) ... I would use shards to track the ratings (but without using transactions) and from time to time re-calculate the average from the shards and keep it with the product. This would allow indexing by the average rating, without many sacrifices. ... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: more complicated counters/ratings (sorting?)
Ok, but this model still involves having the products in the same entity group as the sharded ratings, right? That isn't what I read from use shards to track the ratings (but without using transactions). I can easily see how you don't need a transaction to sum the shards into the total, but you definitely need a transaction to add the new rating and add its weight to the shard. -J -- From: yejun [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 9:11 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) You keep total rating values and number of users rated both in two shard counters which are not belong to your product entity group. Then update your average rating for your product's entity group periodically like once every 100 request or 1000 request depends on your need. So the concurrency level is only determined by the number of shards not by number of users or products. Even though the transfer data from shard counter to your entity group is non-transactional, but the updating of raw records are transactional, the data will be corrected next time when you update average rate. Updating will only takes the time of a dozen of datastore read and 1 put. On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: If I don't use transactions (with the ratings in the same entity groups as the shards they are being served by) then I can't be guaranteed I don't accidentally drop or double count ratings in the case of errors. :( Is the idea that you are recommending I just say oh well, its a drop in the bucket? -J -- From: Alexander Kojevnikov [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 1:12 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) ... I would use shards to track the ratings (but without using transactions) and from time to time re-calculate the average from the shards and keep it with the product. This would allow indexing by the average rating, without many sacrifices. ... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: DataStore examples, reference, tutorial
On Tue, Nov 4, 2008 at 9:08 AM, Ian Bambury [EMAIL PROTECTED] wrote: Let's say I am converting an existing SQL-type app There are tables for Customer Order OrderLine Product and I need to extract all order lines for a customer for a particular product Acme Ltd - Order 123 - Quantity 24 - Desciption: Can Of Beer Acme Ltd - Order 132 - Quantity 12 - Desciption: Can Of Beer Acme Ltd - Order 155 - Quantity 48 - Desciption: Can Of Beer All this information is in different tables. You say to keep all the data duplicated in one place, which is OK, but what if Can Of Beer was a typo and needs to be changed to Can Of Lager? A handy rule of thumb that I use is to duplicate the data that you want to search or filter on. In this example, you don't need that, so you can model it in the datastore in much the same way as you did in an SQL-backed application. In particular, your OrderLine model might look like this: class OrderLine(db.Model): customer = db.ReferenceProperty(Customer) order = db.ReferenceProperty(Order) product = db.ReferenceProperty(Product) quantity = db.IntegerProperty() Then you'd fetch all your lines like this: lines = OrderLine.all().filter('customer =', currentCustomer).filter('product =', theProduct) Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Trouble with Zipfile, Django 1.0, GAE Django Helper
Hi Dylan. Django 1.0 not support newforms. plese read follow document. http://docs.djangoproject.com/en/dev/releases/1.0-porting-guide/#use-django-forms-instead-of-newforms replace from from django import newforms as forms to from django import forms Thanks. Kosei. On 11月5日, 午前1:20, Dylan Lorimer [EMAIL PROTECTED] wrote: Hi Kosei - Any idea why I can't import newforms in your package? On Nov 3, 10:38 pm, Kitahara [EMAIL PROTECTED] wrote: Hi Dylan. I think ,it will work for you.http://github.com/Surgo/django-on-gae/ it work for zip archiveddjango1.0 onGAEwith Helper. thank you. Kosei. On Nov 3, 2:07 pm, Dylan Lorimer [EMAIL PROTECTED] wrote: So I'm trying to get the app enginedjangohelper working with the zipfile example fordjango1.0, and running into a problem. I should also mention that I'm using the bootstrap method in theGAE djangohelper readme. I'm also using version 66 of thedjangohelper (pulled via svn.) I created thedjango.zip following the exact instructions athttp://code.google.com/appengine/articles/django10_zipimport.html. So, the trouble I'm having is that after dropping indjango.zip into the root level of my application folder, I start the app server, and in the browser see the following error(s): Traceback (most recent call last): File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 2413, in _HandleRequest base_env_dict=env_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 348, in Dispatch base_env_dict=base_env_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 1848, in Dispatch self._module_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 1766, in ExecuteCGI reset_modules = exec_script(handler_path, cgi_path, hook) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 1664, in ExecuteOrImportScript script_module.main() File /Users/edylan/Development/JaceyPhotographs2/main.py, line 48, in main util.run_wsgi_app(application) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/ext/webapp/util.py, line 76, in run_wsgi_app result = application(env, _start_response) File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/ core/handlers/wsgi.py, line 228, in __call__ File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/ core/handlers/base.py, line 40, in load_middleware continue ImproperlyConfigured: Error importing middleware django.contrib.auth.middleware: No module named contrib.auth.middleware looks like the error is in mydjango.zip that I'm creating, but I'm not sure how to fix this. Any ideas? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Crappiest Product from Google
On Mon, Nov 3, 2008 at 11:42 PM, Kannaiyan [EMAIL PROTECTED] wrote: As a software developer I would allow users to reuse the same code. I won't make million copies of the same code. (If used by millions of people). If Python does not allow such sharing model, then the language is a total CRAP. Bundling a bunch of libraries with the runtime environment could be a bad idea in the long run. For example, consider the case where version 1 of the runtime environment includes version 1.0 of module A and version 1.0 of module B, and you write an app that uses these modules. Then later, App Engine releases version 2 of the runtime environment, which includes version 2.0 of module A and version 2.0 of module B. Perhaps your app is incompatible with module A v2.0 and would take several weeks to port, but there's nothing in A v2.0 that you need so you'd prefer to just stay with A v1.0. But you desperately need a feature in module B v2.0. Thankfully, in Python it's easy to stay with version 1 of the runtime environment then add your own copy of B v2.0 to your app. But you can imagine that with many modules and many versions, this could get extremely difficult to manage very quickly, and you'll soon be including all of your dependencies with your app. Bundled libraries make it easy to get started, and it's a good suggestion for App Engine to include the gdata library with the runtime as a starting point. Feel free to create an issue in the issue tracker for this. But beyond getting started, you probably won't want to use bundled libraries. -- Dan --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] Stuck indexes
All my indexes are stuck on Building. Would someone at Google move them to Error so I can vacuum them? Also, my understanding is that the known issue that causes indexes to count against application quota even after they have been vacuumed is still present. Could I get my index quota reset so I can re-upload? app id drewsandbox Thanks, Drew Crawford --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Bug in dev_appserver.py and email dispatching?
On Nov 4, 8:41 am, Marzia Niccolai [EMAIL PROTECTED] wrote: What version of the SDK are you using? Is this with 1.1.5? Hi Marzia! Thanks for your quick response -- here are the versions: Version 1.1.5 (1.1.5.151) release: 1.1.5 timestamp: 1222740096 api_versions: ['1'] Have a fantastic day! pr3d4t0r http://eugeneciurana.com http://isthesiteup.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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Common View Component
What's the best practice for including a common dynamic view component in every template? For example, say I want to include a short list of links, dynamically queried from my datastore, on every page. The default option seems to be adding this query to every request handler, and use Django's template inheritance to reuse the display logic. However, this still seems like a lot of work, so I decided to create a linklist templatefilter to both query the data and retrieve the template, and just add {{request|linklist}} to my base template. This is simple, but seems like a hack. Is there a better way? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] GAE vs. EC2
Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: DataStore examples, reference, tutorial
Hi David, That's really helpful, thanks. A big step on the way So in 'lines' I'd have OrderLine objects. Are there any useful sites/pages where this info is available, to save me having to pester people like you? If not... What if I wanted to pull out a list where the quantity was over 1000 and print the product description and the customer name? Sorry for all the questions, but I'm pretty much OK on all the programming side but I don't have anything much to closely relate to BigTables, so it's a blind spot. And to make it worse, I'm going to have to do something like pulling out the first 100 customers in customer name order who *don't* have any orders for product x I appreciate your help in getting me up to speed here. Ian --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Crappiest Product from Google
I must be a sucker for drama, because I'm still reading this thread. And after all the insults, whining, and negativity, I think this Kans guy has finally explained what his actual issue is. It sounds like he wants the gdata libraries to be 'installed' as part of the python environment our apps run in, just like django is 'pre installed' for us. Maybe now he'll go away, or at least stop being a jerk. On Nov 4, 10:28 am, Kannaiyan [EMAIL PROTECTED] wrote: Don't think you are just given simply to enjoy the platform. That is one side of it. Google evaluates every user experience which in turns gives them a business metrics to improve their business. You are partly denoting your time for free to improve Google's business whether you make any productive application or not. /Kans On Nov 4, 6:07 am, Sudhir [EMAIL PROTECTED] wrote: Besides, app engine was obviously designed for us lesser mortals who picked up python only two months ago and are happily writing code that works really well, hosting it on a free platform that gives really good response times and on an API that lets us do quite a lot, and with a little creative pushing, anything we want. Obviously, we're stupid. Besides, its not fair that google is only providing a platform that lets you build your ideas any way you want, experiment to your heart's content, and charges you only long after your app has become profitable. They ought to send people to cook my meals and clean my room too. BTW, @The AppEngine Team, can I get a Google plate for the undying support I'm giving you guys? I might have people over for lunch :D On Nov 4, 6:57 pm, Sudhir [EMAIL PROTECTED] wrote: I'm not sure which language automatically loads all the possible classes and modules when every line of code is run I've been developing only a year or so, but a language that does that isn't something I'd use. Maybe we should rewrite C# to load all the .NET libraries automatically, and configure PHP to scan all the .php files on the hard disk and include them. I'm sure every command would then run without any further configuration :D While we're at it why not load the whole internet for every search query? On Nov 4, 1:26 pm, Kannaiyan [EMAIL PROTECTED] wrote: Feris: Next time when I'm any Google Developer or Python Developer house for lunch, I will go with my own plates. I doubt they will have their own plates in their house. :) I'm sure I entered into wrong time assuming Google development environment will be friendly enough with less docs. Looks like New comers need to run here and there to get their application working. This is to discuss problems we are facing and the users experience for Google to understand. I hope I expressed the same. I don't understand what you mean by Productive? /Kans On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote: Hi Kannaiyan, This is not a productive discussions. If you feel not right with Google Apps, then it is not for you, ok ? Go with something else like Amazon EC2. On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote: Never worked with Python Guys. (Once I complete Python, Google will go for Cobra :) ) Regards, Feris --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Crappiest Product from Google
Dan Sanderson: Thanks for the nice feedback and understanding. We need to have a smart way of maintaining versions. What if Google Upgrades the version of Python Intrepreter to a higher version when the code is written for lower version? We see Deprecated modules changing between higher versions. You think we need to store our own Python binaries of that version to keep it running? I have a very basic question, What happens if there is a bug (BETA) in GData module and the website is not updated with that gdata update. 1. Do they have to shut the website down? 2. What if someone exploits of a known bug and misuse the poor website infrastructure, why you make the user as a victim of such happenings. If someone want to use higher version of the API, we need to come up with a solution of Managing different versions. like, import gdata2 to use the extra facilities offered by gdata higher versions. I'm not discussing about integrating a third party module. It is their own services and accessing their own products, mounting extra work to it in the user side in maintaining the version of the code. What a service :) /Kannaiyan On Nov 4, 9:23 am, Dan Sanderson [EMAIL PROTECTED] wrote: On Mon, Nov 3, 2008 at 11:42 PM, Kannaiyan [EMAIL PROTECTED] wrote: As a software developer I would allow users to reuse the same code. I won't make million copies of the same code. (If used by millions of people). If Python does not allow such sharing model, then the language is a total CRAP. Bundling a bunch of libraries with the runtime environment could be a bad idea in the long run. For example, consider the case where version 1 of the runtime environment includes version 1.0 of module A and version 1.0 of module B, and you write an app that uses these modules. Then later, App Engine releases version 2 of the runtime environment, which includes version 2.0 of module A and version 2.0 of module B. Perhaps your app is incompatible with module A v2.0 and would take several weeks to port, but there's nothing in A v2.0 that you need so you'd prefer to just stay with A v1.0. But you desperately need a feature in module B v2.0. Thankfully, in Python it's easy to stay with version 1 of the runtime environment then add your own copy of B v2.0 to your app. But you can imagine that with many modules and many versions, this could get extremely difficult to manage very quickly, and you'll soon be including all of your dependencies with your app. Bundled libraries make it easy to get started, and it's a good suggestion for App Engine to include the gdata library with the runtime as a starting point. Feel free to create an issue in the issue tracker for this. But beyond getting started, you probably won't want to use bundled libraries. -- Dan --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: more complicated counters/ratings (sorting?)
You can save your individual rating anywhere, you just need it for the record. Put you update your total rating and total user record in a transaction counter. For average rating you only need total rating and total user counter, you don't need individual record. On Nov 4, 12:15 pm, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: Ok, but this model still involves having the products in the same entity group as the sharded ratings, right? That isn't what I read from use shards to track the ratings (but without using transactions). I can easily see how you don't need a transaction to sum the shards into the total, but you definitely need a transaction to add the new rating and add its weight to the shard. -J -- From: yejun [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 9:11 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) You keep total rating values and number of users rated both in two shard counters which are not belong to your product entity group. Then update your average rating for your product's entity group periodically like once every 100 request or 1000 request depends on your need. So the concurrency level is only determined by the number of shards not by number of users or products. Even though the transfer data from shard counter to your entity group is non-transactional, but the updating of raw records are transactional, the data will be corrected next time when you update average rate. Updating will only takes the time of a dozen of datastore read and 1 put. On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: If I don't use transactions (with the ratings in the same entity groups as the shards they are being served by) then I can't be guaranteed I don't accidentally drop or double count ratings in the case of errors. :( Is the idea that you are recommending I just say oh well, its a drop in the bucket? -J -- From: Alexander Kojevnikov [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 1:12 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) ... I would use shards to track the ratings (but without using transactions) and from time to time re-calculate the average from the shards and keep it with the product. This would allow indexing by the average rating, without many sacrifices. ... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Stuck indexes
Looks like marzi took care of it. Thanks! On Nov 4, 11:25 am, abridgedEdition [EMAIL PROTECTED] wrote: All my indexes are stuck on Building. Would someone at Google move them to Error so I can vacuum them? Also, my understanding is that the known issue that causes indexes to count against application quota even after they have been vacuumed is still present. Could I get my index quota reset so I can re-upload? app id drewsandbox Thanks, Drew Crawford --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Doubts regarding Datstore Object backward computability
BigTable is not a SQL database. There is no way to automatically convert a SQL schema into an App Engine datastore design.Some applications are easier to model in the datastore than others. The best way to find out is to try it, and then ask here with specific questions and examples. You can read about the datastore here: http://code.google.com/appengine/docs/datastore/overview.html On Nov 4, 9:16 am, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi, I would like to know the possibility in Google App Engine Datastore to accommodate with my existing Database. Here is my common doubts: 1. Does Datastore has a backward capability to import the existing DB(say MySQL for instance) structure and convert it to work with Bigtable ? 2. Does Datstore gives any flexibility to export the Datstore objects (So we can use it with other DB) ? I eagerly waiting for the replay to see how this going to work.. Regards Madhavan C --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Crappiest Product from Google
Issue already added to the tracker list. http://code.google.com/p/googleappengine/issues/detail?id=208 On Nov 4, 9:48 am, Kannaiyan [EMAIL PROTECTED] wrote: Dan Sanderson: Thanks for the nice feedback and understanding. We need to have a smart way of maintaining versions. What if Google Upgrades the version of Python Intrepreter to a higher version when the code is written for lower version? We see Deprecated modules changing between higher versions. You think we need to store our own Python binaries of that version to keep it running? I have a very basic question, What happens if there is a bug (BETA) in GData module and the website is not updated with that gdata update. 1. Do they have to shut the website down? 2. What if someone exploits of a known bug and misuse the poor website infrastructure, why you make the user as a victim of such happenings. If someone want to use higher version of the API, we need to come up with a solution of Managing different versions. like, import gdata2 to use the extra facilities offered by gdata higher versions. I'm not discussing about integrating a third party module. It is their own services and accessing their own products, mounting extra work to it in the user side in maintaining the version of the code. What a service :) /Kannaiyan On Nov 4, 9:23 am, Dan Sanderson [EMAIL PROTECTED] wrote: On Mon, Nov 3, 2008 at 11:42 PM, Kannaiyan [EMAIL PROTECTED] wrote: As a software developer I would allow users to reuse the same code. I won't make million copies of the same code. (If used by millions of people). If Python does not allow such sharing model, then the language is a total CRAP. Bundling a bunch of libraries with the runtime environment could be a bad idea in the long run. For example, consider the case where version 1 of the runtime environment includes version 1.0 of module A and version 1.0 of module B, and you write an app that uses these modules. Then later, App Engine releases version 2 of the runtime environment, which includes version 2.0 of module A and version 2.0 of module B. Perhaps your app is incompatible with module A v2.0 and would take several weeks to port, but there's nothing in A v2.0 that you need so you'd prefer to just stay with A v1.0. But you desperately need a feature in module B v2.0. Thankfully, in Python it's easy to stay with version 1 of the runtime environment then add your own copy of B v2.0 to your app. But you can imagine that with many modules and many versions, this could get extremely difficult to manage very quickly, and you'll soon be including all of your dependencies with your app. Bundled libraries make it easy to get started, and it's a good suggestion for App Engine to include the gdata library with the runtime as a starting point. Feel free to create an issue in the issue tracker for this. But beyond getting started, you probably won't want to use bundled libraries. -- Dan- 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: more complicated counters/ratings (sorting?)
I'm sorry, I said products in the same, I meant individual ratings in the same, although I think you got it. I definitely need to have the individual ratings in the same entity group as the sharded counts or I lost safety updating them. Example: I might commit a rating (so the user sees his rating if he looks) but fail to update the count. If he later goes and changes the rating I would be removing the old total (which never got counted) and adding the new one, which is obviously wrong. This is the comment I was making earlier: these examples of using sharded counters seem to be completely missing on the idea that the thing you are counting has to be in the same entity group as the sharded count or your risk double or zero counting it. The actual example from Brett is immune because he doesn't actually have anything he's counting (just button pushes), but if it were blog posts or comments then those items need to be in the same entity group so you can update the shard's count and add the post as a single, atomic transaction. -J -- From: yejun [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 9:52 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) You can save your individual rating anywhere, you just need it for the record. Put you update your total rating and total user record in a transaction counter. For average rating you only need total rating and total user counter, you don't need individual record. On Nov 4, 12:15 pm, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: Ok, but this model still involves having the products in the same entity group as the sharded ratings, right? That isn't what I read from use shards to track the ratings (but without using transactions). I can easily see how you don't need a transaction to sum the shards into the total, but you definitely need a transaction to add the new rating and add its weight to the shard. -J -- From: yejun [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 9:11 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) You keep total rating values and number of users rated both in two shard counters which are not belong to your product entity group. Then update your average rating for your product's entity group periodically like once every 100 request or 1000 request depends on your need. So the concurrency level is only determined by the number of shards not by number of users or products. Even though the transfer data from shard counter to your entity group is non-transactional, but the updating of raw records are transactional, the data will be corrected next time when you update average rate. Updating will only takes the time of a dozen of datastore read and 1 put. On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: If I don't use transactions (with the ratings in the same entity groups as the shards they are being served by) then I can't be guaranteed I don't accidentally drop or double count ratings in the case of errors. :( Is the idea that you are recommending I just say oh well, its a drop in the bucket? -J -- From: Alexander Kojevnikov [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 1:12 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) ... I would use shards to track the ratings (but without using transactions) and from time to time re-calculate the average from the shards and keep it with the product. This would allow indexing by the average rating, without many sacrifices. ... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: more complicated counters/ratings (sorting?)
When someone changes the rating, you just need to calculate the delta and update the total rating accordingly. Update individual record and average rating can not be atomically synced. Entity group need to be small, because read or write on an entity group will cause the entire group being serialized and deserialized. Also the average will at most have 3 significant figures, one wrong update on 1 of a million record won't affect your average value at all. On Nov 4, 1:01 pm, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: I'm sorry, I said products in the same, I meant individual ratings in the same, although I think you got it. I definitely need to have the individual ratings in the same entity group as the sharded counts or I lost safety updating them. Example: I might commit a rating (so the user sees his rating if he looks) but fail to update the count. If he later goes and changes the rating I would be removing the old total (which never got counted) and adding the new one, which is obviously wrong. This is the comment I was making earlier: these examples of using sharded counters seem to be completely missing on the idea that the thing you are counting has to be in the same entity group as the sharded count or your risk double or zero counting it. The actual example from Brett is immune because he doesn't actually have anything he's counting (just button pushes), but if it were blog posts or comments then those items need to be in the same entity group so you can update the shard's count and add the post as a single, atomic transaction. -J -- From: yejun [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 9:52 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) You can save your individual rating anywhere, you just need it for the record. Put you update your total rating and total user record in a transaction counter. For average rating you only need total rating and total user counter, you don't need individual record. On Nov 4, 12:15 pm, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: Ok, but this model still involves having the products in the same entity group as the sharded ratings, right? That isn't what I read from use shards to track the ratings (but without using transactions). I can easily see how you don't need a transaction to sum the shards into the total, but you definitely need a transaction to add the new rating and add its weight to the shard. -J -- From: yejun [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 9:11 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) You keep total rating values and number of users rated both in two shard counters which are not belong to your product entity group. Then update your average rating for your product's entity group periodically like once every 100 request or 1000 request depends on your need. So the concurrency level is only determined by the number of shards not by number of users or products. Even though the transfer data from shard counter to your entity group is non-transactional, but the updating of raw records are transactional, the data will be corrected next time when you update average rate. Updating will only takes the time of a dozen of datastore read and 1 put. On Nov 4, 11:40 am, Jay Freeman \(saurik\) [EMAIL PROTECTED] wrote: If I don't use transactions (with the ratings in the same entity groups as the shards they are being served by) then I can't be guaranteed I don't accidentally drop or double count ratings in the case of errors. :( Is the idea that you are recommending I just say oh well, its a drop in the bucket? -J -- From: Alexander Kojevnikov [EMAIL PROTECTED] Sent: Tuesday, November 04, 2008 1:12 AM To: Google App Engine google-appengine@googlegroups.com Subject: [google-appengine] Re: more complicated counters/ratings (sorting?) ... I would use shards to track the ratings (but without using transactions) and from time to time re-calculate the average from the shards and keep it with the product. This would allow indexing by the average rating, without many sacrifices. ... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: HTTP 404 - File not found
Thank you very much shday and Alexander. That fixed it. On Nov 4, 2:00 am, Alexander Kojevnikov [EMAIL PROTECTED] wrote: Hi shday, I added the '_init_.py' file as suggested. I now receive the error below. type 'exceptions.ImportError': Could not find module scripts1.helloworld2 It's double underscores: __init__.py, not _init_.py --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: GAE vs. EC2
Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: 300ms maximum avg. request
going over 300ms/req consistently results in a a nasty over-quota error immediately upon every request Are you sure it results in an actual error? I was under the impression that anything under 8000ms resulted in a warning, not an all out quota denial error. My understanding is that you get a CPU cycles warning for requests that are over 2x the average response time of your requests. If most of your requests finish within 300ms, you will probably get warnings for requests that take over 600ms. -Mahmoud --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. These were my thoughts too... if its the same difference in the end... I'm looking for reasons as to why one would stick with GAE long-term. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. It seems there are images you can choose for EC2 which automatically load balance/scale when you boot new instances... On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: DataStore examples, reference, tutorial
Thanks David, What if I wanted to pull out a list where the quantity was over 1000 and print the product description and the customer name? You don't. App Engine isn't designed for grabbing a large amount of data. Users of a web application are really not going to want 1000 pieces of data in one go. I meant that the order quantity was over 1000, not the number of pieces of data. I'd be quite happy with 25 returned matches And to make it worse, I'm going to have to do something like pulling out the first 100 customers in customer name order who *don't* have any orders for product x App Engine is designed for scalable web applications, not for bulk order processing systems. I think there's a bit of a mismatch in the expectations. It's not bulk order processing - I was trying to find a parallel in the example I gave for what I am trying to do. Perhaps I have a system which has users who record what films/movies they see and the system keeps an up-to-date list of all movies as they are released. What if the user wants to see a list of all the movies which came out last month which they *haven't* seen. Is there a way to do that? I can see from your answer before that I can limit the list to ones which the user has added to their list of viewed films, but is it possible to get the complimentary data set? Thanks, Ian --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Error while sending 250 emails
On Nov 3, 4:09 am, Yogi [EMAIL PROTECTED] wrote: Okai if this is the case, should it be done by through multiple http requests or it can be done by giving a delay of 60 secs after sending 5 emails inside in a single http request!! Almost certainly it should be done by not sending mass emails from a web application. The quotas are set up such that it's really only practical to send users email messages in response to their own actions, not to mass mail everyone on your site. You'll probably get better results by having your app just send you a list of email addresses that you can use as a mailing list for mass emails from a non-appengine mail sending program. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
There is a point which you are missing here. Firing up more images in EC2 does not makes your application scalable. There is lots and lots of other issues here. With EC2 you have to use S3 etc etc. there might be some point to consider working with GAE but in short I think there is much more to do if you want a scalable application in EC2. On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote: Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. These were my thoughts too... if its the same difference in the end... I'm looking for reasons as to why one would stick with GAE long-term. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. It seems there are images you can choose for EC2 which automatically load balance/scale when you boot new instances... On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
You don't have to use S3 with EC2 ... ... what are you talking about? You CAN use S3 ... or SimpleDB ... or any third party storage service ... There are plenty of third-party tools (Rightscale comes to mind) that make scaling EC2 a breeze. Thanks- - Andy Badera - [EMAIL PROTECTED] - (518) 641-1280 - http://higherefficiency.net/ - http://changeroundup.com/ - http://flipbitsnotburgers.blogspot.com/ - http://andrew.badera.us/ - Google me: http://www.google.com/search?q=andrew+badera On Tue, Nov 4, 2008 at 2:25 PM, Arash [EMAIL PROTECTED] wrote: There is a point which you are missing here. Firing up more images in EC2 does not makes your application scalable. There is lots and lots of other issues here. With EC2 you have to use S3 etc etc. there might be some point to consider working with GAE but in short I think there is much more to do if you want a scalable application in EC2. On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote: Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. These were my thoughts too... if its the same difference in the end... I'm looking for reasons as to why one would stick with GAE long-term. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. It seems there are images you can choose for EC2 which automatically load balance/scale when you boot new instances... On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
Or EBS for that matter too (S3, SimpleDB, EBS) On Tue, Nov 4, 2008 at 2:28 PM, Andrew Badera [EMAIL PROTECTED] wrote: You don't have to use S3 with EC2 ... ... what are you talking about? You CAN use S3 ... or SimpleDB ... or any third party storage service ... There are plenty of third-party tools (Rightscale comes to mind) that make scaling EC2 a breeze. Thanks- - Andy Badera - [EMAIL PROTECTED] - (518) 641-1280 - http://higherefficiency.net/ - http://changeroundup.com/ - http://flipbitsnotburgers.blogspot.com/ - http://andrew.badera.us/ - Google me: http://www.google.com/search?q=andrew+badera On Tue, Nov 4, 2008 at 2:25 PM, Arash [EMAIL PROTECTED] wrote: There is a point which you are missing here. Firing up more images in EC2 does not makes your application scalable. There is lots and lots of other issues here. With EC2 you have to use S3 etc etc. there might be some point to consider working with GAE but in short I think there is much more to do if you want a scalable application in EC2. On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote: Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. These were my thoughts too... if its the same difference in the end... I'm looking for reasons as to why one would stick with GAE long-term. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. It seems there are images you can choose for EC2 which automatically load balance/scale when you boot new instances... On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: User login
i develope a site than-gam.appspot.com in that i need to keep users login in front page of my own html ,i wont need google users login could it possible ? Check this thread discussing custom authentication options: http://groups.google.com/group/google-appengine/browse_thread/thread/6d04d8b69e89d361/641e9565b6ad7071 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Crappiest Product from Google
On Tue, Nov 4, 2008 at 9:48 AM, Kannaiyan [EMAIL PROTECTED] wrote: We need to have a smart way of maintaining versions. What if Google Upgrades the version of Python Intrepreter to a higher version when the code is written for lower version? Runtime environments are versioned, and you control which version your app uses in the app.yaml configuration file. Right now, there is only one version of the Python runtime: 1. Changes made to an existing version of the runtime environment are intended to be backwards compatible. If there is ever a non-backwards compatible change, it will be released in a new version of the runtime. When a new version of the runtime is released, an app will continue to use the original version until the app owner changes the app.yaml file. The biggest example of this would be upgrading Python itself. Version 1 of the runtime uses Python 2.5. If App Engine were to support a later version of Python, it would have to be in a later version of the runtime environment. You wouldn't want the version of the Python language to change automatically. Upgrading an app to a new runtime environment is likely to be non-trivial for everyone, so it's better if new non-backwards compatible versions are few and far between. This is one of many reasons you don't want lots of libraries bundled with the runtime. Consider that the runtime bundles Django 0.96; updating this to Django 1.0 would require a new version of the runtime. I'd recommend to anyone wanting to use Django on App Engine to add Django 1.0 to their app instead of using the bundled 0.96 and waiting for a new version of the runtime. Thankfully, this is easy to do. What happens if there is a bug (BETA) in GData module and the website is not updated with that gdata update. It sounds like you're asking about what would happen if we bundled the GData library in the runtime, and a bug were discovered in the library. In this case, if the bug fix is backwards compatible, the library would be upgraded in place with a minor release of the runtime environment, and all apps using that version of the runtime would see the fix automatically, just as with fixes in the API libraries. -- Dan --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: DataStore examples, reference, tutorial
On Tue, Nov 4, 2008 at 11:15 AM, Ian Bambury [EMAIL PROTECTED] wrote: Thanks David, What if I wanted to pull out a list where the quantity was over 1000 and print the product description and the customer name? You don't. App Engine isn't designed for grabbing a large amount of data. Users of a web application are really not going to want 1000 pieces of data in one go. I meant that the order quantity was over 1000, not the number of pieces of data. I'd be quite happy with 25 returned matches Oh, that's easy then. Just add a .filter('quantity ', 1000) to what I wrote previously. What if the user wants to see a list of all the movies which came out last month which they *haven't* seen. Is there a way to do that? I can see from your answer before that I can limit the list to ones which the user has added to their list of viewed films, but is it possible to get the complimentary data set? That's a fair bit harder to do in a single query. The simplest way for a smallish number of movies would be to just fetch all the movies from the last month, then fetch all the user's movies, and then compute the set difference in Python. Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: GAE vs. EC2
I think the scaling issue here is understated. Compared to traditional scaling strategies that organizations use to perform, GAE provides alot of transparency. The premise of GAE is to put focus on development of applications. Thus, GAE is more developer focused. EC2 is a more general solution. Furthermore, I imagine instantiating more VMs is a form of network administration that doesn't exist in GAE ... unless your application is so advanced that it comes with logic to efficiently instantiate and shutdown VMs on its own. On Nov 4, 11:20 am, sal [EMAIL PROTECTED] wrote: EC2 also has a lot other usage than hosting a web site. You can use it for scientific computing, video transcoding, data mining and etc. I agree - you have a little more freedom / computing power / resources than you do with GAE, and its pretty cheap. A quick lookthrough on Amazon's site shows EC2's lowend costing $0.10 per hour (ten cents an hour) to use. And you can shut it down/start it up whenever you want so you don't incur much cost while 'playing around' in the beginning. I did like being able to 'dive in' to GAE just using my Google login and start playing around - but EC2 seems more practical for real world use yet. There needs to be more to make GAE something viable... or maybe Google's not really aiming to compete on the 'high end' cloud computing arena, more just to give a place for people to create Google Gadgets? (In that case it should be named 'Google Gadget Engine'!!) But I don't think that's the case, I must be missing something =) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
Has anyone compared SDB and google datastore? On Nov 4, 2:29 pm, Andrew Badera [EMAIL PROTECTED] wrote: Or EBS for that matter too (S3, SimpleDB, EBS) On Tue, Nov 4, 2008 at 2:28 PM, Andrew Badera [EMAIL PROTECTED] wrote: You don't have to use S3 with EC2 ... ... what are you talking about? You CAN use S3 ... or SimpleDB ... or any third party storage service ... There are plenty of third-party tools (Rightscale comes to mind) that make scaling EC2 a breeze. Thanks- - Andy Badera - [EMAIL PROTECTED] - (518) 641-1280 -http://higherefficiency.net/ -http://changeroundup.com/ -http://flipbitsnotburgers.blogspot.com/ -http://andrew.badera.us/ - Google me:http://www.google.com/search?q=andrew+badera On Tue, Nov 4, 2008 at 2:25 PM, Arash [EMAIL PROTECTED] wrote: There is a point which you are missing here. Firing up more images in EC2 does not makes your application scalable. There is lots and lots of other issues here. With EC2 you have to use S3 etc etc. there might be some point to consider working with GAE but in short I think there is much more to do if you want a scalable application in EC2. On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote: Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. These were my thoughts too... if its the same difference in the end... I'm looking for reasons as to why one would stick with GAE long-term. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. It seems there are images you can choose for EC2 which automatically load balance/scale when you boot new instances... On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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
[google-appengine] Re: GAE vs. EC2
There is a point which you are missing here. Firing up more images in EC2 does not makes your application scalable. It seems to depend on the image you choose - looks like images are available that co-operate and automatically load balance at they startup and autodetect each other. Probably the same way the Google app cluster works - except instead of someone in Google adding nodes you can do it yourself. There is lots and lots of other issues here. With EC2 you have to use S3 etc etc. there might be some point to consider working with GAE but in short I think there is much more to do if you want a scalable application in EC2. Remember there is a lot to do to make a scalable app in GAE also. There are numerous posts on this list where people can't even get a simple 'web counter' to work. The counter-argument (no pun intended) is that the GAE app will scale in the long run due to this 'additional effort' that we have to go through. So ec2 and GAE both require 'effort' to make something scalable. In GAE is via painful limitations in Python, in EC2 its by choosing images If only someone at Google would stumble across Xen (http:// www.xen.org/) which is free/opensource, the tech that Amazon uses for EC2 and port it to their own 'Googleware', and offer some free logins to that system, it would be a true competitor!! On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote: Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. These were my thoughts too... if its the same difference in the end... I'm looking for reasons as to why one would stick with GAE long-term. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. It seems there are images you can choose for EC2 which automatically load balance/scale when you boot new instances... On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this
[google-appengine] Indexing does not work
Hello, my user base is increasing that's why I wanted to index my tables. index.yaml is not updated automatically on my windows machine (I tried a lot of things, including deleting it, etc.) that's why I updated it manually. I uploaded my app (did not change the version) but appspot still states You have not created indexes for this application. Could someone please tell me how to index my datastore? Thanks in advance, Richie --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
I think the scaling issue here is understated. Compared to traditional scaling strategies that organizations use to perform, GAE provides alot of transparency. The premise of GAE is to put focus on development of applications. Thus, GAE is more developer focused. EC2 is a more general solution. Furthermore, I imagine instantiating more VMs is a form of network administration that doesn't exist in GAE ... I wouldn't assume this yet, as I'm sure you'll have to perform some sort of verification/configuration to 'scale up' with GAE also. Google likely wont just let your app spike though all the funds in your bank account - you'll have to login to some kind of console to configure how much resources you want to pay for. EC2 has the same thing basically - you just go to a web page and control how many instances are running. unless your application is so advanced that it comes with logic to efficiently instantiate and shutdown VMs on its own. There are already free utilities that do this with EC2 it seems. On Nov 4, 11:20 am, sal [EMAIL PROTECTED] wrote: EC2 also has a lot other usage than hosting a web site. You can use it for scientific computing, video transcoding, data mining and etc. I agree - you have a little more freedom / computing power / resources than you do with GAE, and its pretty cheap. A quick lookthrough on Amazon's site shows EC2's lowend costing $0.10 per hour (ten cents an hour) to use. And you can shut it down/start it up whenever you want so you don't incur much cost while 'playing around' in the beginning. I did like being able to 'dive in' to GAE just using my Google login and start playing around - but EC2 seems more practical for real world use yet. There needs to be more to make GAE something viable... or maybe Google's not really aiming to compete on the 'high end' cloud computing arena, more just to give a place for people to create Google Gadgets? (In that case it should be named 'Google Gadget Engine'!!) But I don't think that's the case, I must be missing something =) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
What would really make this conversation interesting would be a nontrivial example app that someone had written and deployed on both systems, to see where the gotcha's are, and at what levels of demand you really need to worry about various scaling problems. Another thing that no one has directly mentioned yet is the size of the developer community and ecosystems around each project. If you're using App Engine, you can ask any other app engine developer a question about the datastore, and they'll know what you're talking about. If you use the EC2 image for mysql/python 2.5/django, you might not get help from someone using the postgres/python 2.6/cherrpy image. On the other hand, you could have the entire mysql community to draw help from if you had a pure mysql question. -peter On Nov 4, 2:48 pm, sal [EMAIL PROTECTED] wrote: There is a point which you are missing here. Firing up more images in EC2 does not makes your application scalable. It seems to depend on the image you choose - looks like images are available that co-operate and automatically load balance at they startup and autodetect each other. Probably the same way the Google app cluster works - except instead of someone in Google adding nodes you can do it yourself. There is lots and lots of other issues here. With EC2 you have to use S3 etc etc. there might be some point to consider working with GAE but in short I think there is much more to do if you want a scalable application in EC2. Remember there is a lot to do to make a scalable app in GAE also. There are numerous posts on this list where people can't even get a simple 'web counter' to work. The counter-argument (no pun intended) is that the GAE app will scale in the long run due to this 'additional effort' that we have to go through. So ec2 and GAE both require 'effort' to make something scalable. In GAE is via painful limitations in Python, in EC2 its by choosing images If only someone at Google would stumble across Xen (http://www.xen.org/) which is free/opensource, the tech that Amazon uses for EC2 and port it to their own 'Googleware', and offer some free logins to that system, it would be a true competitor!! On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote: Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. These were my thoughts too... if its the same difference in the end... I'm looking for reasons as to why one would stick with GAE long-term. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. It seems there are images you can choose for EC2 which automatically load balance/scale when you boot new instances... On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there
[google-appengine] Re: GAE vs. EC2
On EC2 you can make your own image, but that's not the point. I believe no one in their right mind would use a public image for their production system, it is just not safe by any means. You need to do a lot more than by lanching an image. You need to manage them just like a real operating system, security auditing, patching, debugging. Of course you can also simply terminate any image which causing problems. I think it's still too early to say which cloud computing product will succeed in the end though. They may coexist for ever just like grocery store and restaurant. On Nov 4, 2:57 pm, sal [EMAIL PROTECTED] wrote: I think the scaling issue here is understated. Compared to traditional scaling strategies that organizations use to perform, GAE provides alot of transparency. The premise of GAE is to put focus on development of applications. Thus, GAE is more developer focused. EC2 is a more general solution. Furthermore, I imagine instantiating more VMs is a form of network administration that doesn't exist in GAE ... I wouldn't assume this yet, as I'm sure you'll have to perform some sort of verification/configuration to 'scale up' with GAE also. Google likely wont just let your app spike though all the funds in your bank account - you'll have to login to some kind of console to configure how much resources you want to pay for. EC2 has the same thing basically - you just go to a web page and control how many instances are running. unless your application is so advanced that it comes with logic to efficiently instantiate and shutdown VMs on its own. There are already free utilities that do this with EC2 it seems. On Nov 4, 11:20 am, sal [EMAIL PROTECTED] wrote: EC2 also has a lot other usage than hosting a web site. You can use it for scientific computing, video transcoding, data mining and etc. I agree - you have a little more freedom / computing power / resources than you do with GAE, and its pretty cheap. A quick lookthrough on Amazon's site shows EC2's lowend costing $0.10 per hour (ten cents an hour) to use. And you can shut it down/start it up whenever you want so you don't incur much cost while 'playing around' in the beginning. I did like being able to 'dive in' to GAE just using my Google login and start playing around - but EC2 seems more practical for real world use yet. There needs to be more to make GAE something viable... or maybe Google's not really aiming to compete on the 'high end' cloud computing arena, more just to give a place for people to create Google Gadgets? (In that case it should be named 'Google Gadget Engine'!!) But I don't think that's the case, I must be missing something =) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] user login problem
Hello, my application is http://www.eaglefeed.me Login from there works like a charme, but login from http://eaglefeed.me does not. from my sourcecode users.get_current_user() seem to return None after login. what can I do about this? any help is appreciated. maybe someone could tell me, how to redirect my users as a work around. Thanks in advance, Richie --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: user login problem
Naked domain is no longer supported by google. I think you'd better redirect anyone use naked domain to www. On Nov 4, 3:13 pm, Richie [EMAIL PROTECTED] wrote: Hello, my application ishttp://www.eaglefeed.me Login from there works like a charme, but login fromhttp://eaglefeed.me does not. from my sourcecode users.get_current_user() seem to return None after login. what can I do about this? any help is appreciated. maybe someone could tell me, how to redirect my users as a work around. Thanks in advance, Richie --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: JSONP Gateway
funny thing, I just wrote something like this for myself one week ago. :-) On 31 Okt., 21:00, Malte Ubl [EMAIL PROTECTED] wrote: Hey, I've just released a very simple application that can be used to turn any JSON webservice into a JSONP webservice. It takes an url parameter, fetches that url, validates the json and then returns it wrapped in a callback function. Is this ok with the terms of service? Do you think the problems with respect to security are too serious to leave this online? An example is here:http://jsonpgateway.appspot.com/?url=http%3A//search.yahooapis.com/Im... Bye Malte --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Indexing does not work
Only compound queries need index. Single column properties are already implicitly indexed. On Nov 4, 2:54 pm, Richie [EMAIL PROTECTED] wrote: Hello, my user base is increasing that's why I wanted to index my tables. index.yaml is not updated automatically on my windows machine (I tried a lot of things, including deleting it, etc.) that's why I updated it manually. I uploaded my app (did not change the version) but appspot still states You have not created indexes for this application. Could someone please tell me how to index my datastore? Thanks in advance, Richie --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
On Nov 4, 3:08 pm, yejun [EMAIL PROTECTED] wrote: On EC2 you can make your own image, but that's not the point. I believe no one in their right mind would use a public image for their production system, it is just not safe by any means. You have to trust the Google admins with your data and code also. At least with EC2 you have direct access and create an encrypted filesystem / etc. That even the admins wouldn't be able to 'poke around' into. So I don't buy the security argument... You need to do a lot more than by lanching an image. You need to manage them just like a real operating system, security auditing, patching, debugging. Of course you can also simply terminate any image which causing problems. I think it's still too early to say which cloud computing product will succeed in the end though. They may coexist for ever just like grocery store and restaurant. I agree - and likely there will be lots of competition, which is good. EC2 already seems pretty exciting, if something comes out even cheaper and easier to use, it will be a Good Thing. But at this point in time I'm not sure if there are enough reasons to invest lots of effort into developing for GAE, as there are huge limitations and not yet enough evidence that it is a cheaper or better option for the 'long term'. Although I am openminded, and like to go with Google as a company as they have a reputation for doing some positive things, such as supporting free/opensource communities, so I'm willing to keep considering their options. Just that GAE in its current state isn't showing signs as a good platform, technically speaking... other than it being free to start off with, I'm looking for some stronger (hopefully technical) reasons to invest much time into it as a 'real world' application platform over EC2. On Nov 4, 2:57 pm, sal [EMAIL PROTECTED] wrote: I think the scaling issue here is understated. Compared to traditional scaling strategies that organizations use to perform, GAE provides alot of transparency. The premise of GAE is to put focus on development of applications. Thus, GAE is more developer focused. EC2 is a more general solution. Furthermore, I imagine instantiating more VMs is a form of network administration that doesn't exist in GAE ... I wouldn't assume this yet, as I'm sure you'll have to perform some sort of verification/configuration to 'scale up' with GAE also. Google likely wont just let your app spike though all the funds in your bank account - you'll have to login to some kind of console to configure how much resources you want to pay for. EC2 has the same thing basically - you just go to a web page and control how many instances are running. unless your application is so advanced that it comes with logic to efficiently instantiate and shutdown VMs on its own. There are already free utilities that do this with EC2 it seems. On Nov 4, 11:20 am, sal [EMAIL PROTECTED] wrote: EC2 also has a lot other usage than hosting a web site. You can use it for scientific computing, video transcoding, data mining and etc. I agree - you have a little more freedom / computing power / resources than you do with GAE, and its pretty cheap. A quick lookthrough on Amazon's site shows EC2's lowend costing $0.10 per hour (ten cents an hour) to use. And you can shut it down/start it up whenever you want so you don't incur much cost while 'playing around' in the beginning. I did like being able to 'dive in' to GAE just using my Google login and start playing around - but EC2 seems more practical for real world use yet. There needs to be more to make GAE something viable... or maybe Google's not really aiming to compete on the 'high end' cloud computing arena, more just to give a place for people to create Google Gadgets? (In that case it should be named 'Google Gadget Engine'!!) But I don't think that's the case, I must be missing something =) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
On Nov 4, 3:09 pm, Peter Recore [EMAIL PROTECTED] wrote: What would really make this conversation interesting would be a nontrivial example app that someone had written and deployed on both systems, to see where the gotcha's are, and at what levels of demand you really need to worry about various scaling problems. I would be interested to hear from some EC2 users on this list also! image. On the other hand, you could have the entire mysql community to draw help from if you had a pure mysql question. This is a huge point. Not only can you draw from all the communities of existing developers, you have access to the droves of existing libraries written for all those mature platform that you can leverage. Say you need to integrate a Forum, content management system, billing / shopping cart, etc. Whereas with GAE you are writing your own usually. (And from the numerous posts on how to create a 'Web Counter' with GAE, its evident that some of the normally simple tasks are not so simple. (not trying to slam GAE, just hoping to find some good valid opinions pro-GAE, especially technical reasons!) -peter On Nov 4, 2:48 pm, sal [EMAIL PROTECTED] wrote: There is a point which you are missing here. Firing up more images in EC2 does not makes your application scalable. It seems to depend on the image you choose - looks like images are available that co-operate and automatically load balance at they startup and autodetect each other. Probably the same way the Google app cluster works - except instead of someone in Google adding nodes you can do it yourself. There is lots and lots of other issues here. With EC2 you have to use S3 etc etc. there might be some point to consider working with GAE but in short I think there is much more to do if you want a scalable application in EC2. Remember there is a lot to do to make a scalable app in GAE also. There are numerous posts on this list where people can't even get a simple 'web counter' to work. The counter-argument (no pun intended) is that the GAE app will scale in the long run due to this 'additional effort' that we have to go through. So ec2 and GAE both require 'effort' to make something scalable. In GAE is via painful limitations in Python, in EC2 its by choosing images If only someone at Google would stumble across Xen (http://www.xen.org/) which is free/opensource, the tech that Amazon uses for EC2 and port it to their own 'Googleware', and offer some free logins to that system, it would be a true competitor!! On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote: Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. These were my thoughts too... if its the same difference in the end... I'm looking for reasons as to why one would stick with GAE long-term. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. It seems there are images you can choose for EC2 which automatically load balance/scale when you boot new instances... On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads
[google-appengine] Bulkloading CSV files - Internal Server Error 500
Hi, My previously working CSV bulk-loading scripts are now getting code 500 internal server errors everytime I run them. Any suggestions please as to why and on how to get around them. Thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] REST Routing in CherryPy GAE
Three blog posts showing routing in CherryPy. First is the default routes in CherryPy: http://appmecha.wordpress.com/2008/10/21/cherrypy-routing-1/ The RoutesDispatcher onin CherryPy 3.1.0 http://appmecha.wordpress.com/2008/10/27/cherrypy-gae-routing-2/ And how to handle RESTful routing : http://appmecha.wordpress.com/2008/11/04/restful-routing-cherrypy-gae/ The final one has an application at: http://listmecha.appspot.com/ I'll be extending this to handle REST requests for XML and JSON feeds and making it a bit prettier as time goes on. Enjoy! -angel --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Modeling Hierarchical Data
@Anthony Very nice method that seems to work better than storing the hierarchy in a string. I'll have to look into that. @Marzia Thanks for the advice =) It doesn't suit my particular use case, since my layout displays nested comments that are ~10-20 deep, but I'm sure many people will find the lazy-loading style useful. @Steve I've been experimenting with pickling a highly nested tree. Seems like I ran into a problem with the recursion limit in the pickle module. The way I solved this was to flatten the tree, however, you could also use a patched pickle which uses generators instead of recursion. It's posted at: http://gist.github.com/22217 On Nov 1, 7:31 am, Steve Schwarz [EMAIL PROTECTED] wrote: On Fri, Oct 31, 2008 at 5:41 PM, Chris Tan [EMAIL PROTECTED] wrote: Hi Steve, I was thinking along the same lines. Having the root comment or thread hold a cache of the whole tree, which would be updated whenever an entity is updated, added or removed seems like the most efficient way for large hierarchies. You could have your cached tree represented using nested dictionary objects on your root object using a PickleProperty (see: http://groups.google.com/group/google-appengine/msg/8433525107a8bb92) to be converted to XML as required. The comment class could have a path property (e.g. id1/id2/id3) which could be quickly traversed to retrieve or update child comments. Since it doesn't need to be indexed, it can be a TextProperty() which isn't limited to 500 bytes. CRUD operations could be overridden in your Model class: class Comment(db.Model): path = TextProperty() def put(self): # update root comment super(Comment, self).save() def delete(self): # update root comment super(Comment, self).delete() Pros: - Reads only need to fetch 1 (root tree) or 2 entities (look-up child path return sub-tree from root) - Not limited by depth Cons: - Writes update 2 entities. - Pickling/Unpickling could be resource intensive Chris, Now that I've read Marzia's comments and rewatched the video the saving grace for a comment system where you get too many comments to grab in one go you could switch to paging. Whatever the GAE limiting factor is once you near it you could introduce paging to keep each request under the limit. If that was 200 or 1000 comments would anyone really want to scroll through them all on a single page? On the other hand if you are providing a data feed or a big XML doc like I'm contemplating then getting only a portion of the data wouldn't be useable. But now that I think of it there is no reason the tree couldn't be partitioned and at the cost of some additional gets (which could be cached) this becomes as sharded assembly of the larger XML document. Just like comments could be put in entity groups based on user, I could split the XML doc based on the values of a discriminant attribute and work with smaller entity groups. The assembly of those entities into the final document would involve a relatively small number of gets (a couple dozen). I'll have to look into pickling vs. storing XML fragments from a speed/space tradeoff perspective. Thanks for your assistance, Steve --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
You'll be interested to know that someone is working on an app engine port to EC2: http://appdrop.com/ Currently the link to view uploaded apps is down LOL. -angel On Nov 4, 3:34 pm, sal [EMAIL PROTECTED] wrote: On Nov 4, 3:09 pm, Peter Recore [EMAIL PROTECTED] wrote: What would really make this conversation interesting would be a nontrivial example app that someone had written and deployed on both systems, to see where the gotcha's are, and at what levels of demand you really need to worry about various scaling problems. I would be interested to hear from some EC2 users on this list also! image. On the other hand, you could have the entire mysql community to draw help from if you had a pure mysql question. This is a huge point. Not only can you draw from all the communities of existing developers, you have access to the droves of existing libraries written for all those mature platform that you can leverage. Say you need to integrate a Forum, content management system, billing / shopping cart, etc. Whereas with GAE you are writing your own usually. (And from the numerous posts on how to create a 'Web Counter' with GAE, its evident that some of the normally simple tasks are not so simple. (not trying to slam GAE, just hoping to find some good valid opinions pro-GAE, especially technical reasons!) -peter On Nov 4, 2:48 pm, sal [EMAIL PROTECTED] wrote: There is a point which you are missing here. Firing up more images in EC2 does not makes your application scalable. It seems to depend on the image you choose - looks like images are available that co-operate and automatically load balance at they startup and autodetect each other. Probably the same way the Google app cluster works - except instead of someone in Google adding nodes you can do it yourself. There is lots and lots of other issues here. With EC2 you have to use S3 etc etc. there might be some point to consider working with GAE but in short I think there is much more to do if you want a scalable application in EC2. Remember there is a lot to do to make a scalable app in GAE also. There are numerous posts on this list where people can't even get a simple 'web counter' to work. The counter-argument (no pun intended) is that the GAE app will scale in the long run due to this 'additional effort' that we have to go through. So ec2 and GAE both require 'effort' to make something scalable. In GAE is via painful limitations in Python, in EC2 its by choosing images If only someone at Google would stumble across Xen (http://www.xen.org/) which is free/opensource, the tech that Amazon uses for EC2 and port it to their own 'Googleware', and offer some free logins to that system, it would be a true competitor!! On Nov 4, 2:10 pm, sal [EMAIL PROTECTED] wrote: Of course, you can have someone cook the raw meat to dinner. There's no actual difference in the end. These were my thoughts too... if its the same difference in the end... I'm looking for reasons as to why one would stick with GAE long-term. The difficulty to EC2 for small project is the scaling part, you need either buy or write your own management code for an almost real cluster minus hardware. You need to monitor server load, and start new EC2 instance when load gets high and terminate extra unused servers. You need to take care way more possible exceptions then GAE. It seems there are images you can choose for EC2 which automatically load balance/scale when you boot new instances... On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a
[google-appengine] Re: Common View Component
Django has some features to simplify this via RequestContext and context processors: http://docs.djangoproject.com/en/dev/ref/templates/api/#id1 Alternatively, if you don't want to pull in Django, you could do all the heavy lifting (i.e.datastore calls, memcache) in your main() method, then expose the results either using Python global variables or memcache. Either approach is probably preferable over using a custom filter, since datastore operations open up a number of error cases that you may want to deal with before actually rendering your template. Daniel On Nov 4, 9:29 am, Chris [EMAIL PROTECTED] wrote: What's the best practice for including a common dynamic view component in every template? For example, say I want to include a short list of links, dynamically queried from my datastore, on every page. The default option seems to be adding this query to every request handler, and use Django's template inheritance to reuse the display logic. However, this still seems like a lot of work, so I decided to create a linklist templatefilter to both query the data and retrieve the template, and just add {{request|linklist}} to my base template. This is simple, but seems like a hack. Is there a better way? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Chat room about Google App Engine...
Thanks Calvin, Did you happen to check out TaPingYa? Not much traffic, I know, but your feedback on the site would be appreciated. Thanks Barry On Oct 31, 3:42 am, Calvin Spealman [EMAIL PROTECTED] wrote: the general rule on irc is to lurk, ask questions when you have them, and respond when you see someone else. i can only say that adding different channels or chatrooms wont help to increase the traffic in any of them. On Fri, Oct 31, 2008 at 1:59 AM, bvelasquez [EMAIL PROTECTED] wrote: I went to the channel after setting up Chatzilla, and saw no acivity. Maybe it's a slow night. What times is more activity seen in the channel so I know when to login. Thanks On Oct 30, 7:33 pm, Calvin Spealman [EMAIL PROTECTED] wrote: There is already an active channel, #appengine on freenode.net IRC. On Thu, Oct 30, 2008 at 8:22 PM, bvelasquez [EMAIL PROTECTED] wrote: If anyone is interested, I put up a room on TaPingYa (which is my use of Google App Engine), to chat live about Google App Engine development. Of course, I'd love any feedback on the site also. http://tapingya.appspot.com/room?room_id=3704 If anyone has had issues with high CPU usage, or knows more about it, I would be interested in chatting with you. No amount of optimization seems to help and I got my first google app is over its quota message today.. for a call that doesn't do that much. Regards, Barry -- Read my blog! I depend on your acceptance of my opinion! I am interesting!http://techblog.ironfroggy.com/ Follow me if you're into that sort of thing:http://www.twitter.com/ironfroggy -- Read my blog! I depend on your acceptance of my opinion! I am interesting!http://techblog.ironfroggy.com/ Follow me if you're into that sort of thing:http://www.twitter.com/ironfroggy --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: DataStore examples, reference, tutorial
2008/11/4 David Symonds [EMAIL PROTECTED] On Tue, Nov 4, 2008 at 11:15 AM, Ian Bambury [EMAIL PROTECTED] wrote: Thanks David, What if I wanted to pull out a list where the quantity was over 1000 and print the product description and the customer name? You don't. App Engine isn't designed for grabbing a large amount of data. Users of a web application are really not going to want 1000 pieces of data in one go. I meant that the order quantity was over 1000, not the number of pieces of data. I'd be quite happy with 25 returned matches Oh, that's easy then. Just add a .filter('quantity ', 1000) to what I wrote previously. But where would I pick up the customer name and product description? I imagine that lines = OrderLine.all().filter('quantity ', 1000) will return me OrderLines so I now have a list of all the order lines in the system (or up to 1000 anyway) where the order quantity for that product is over 1000 units but I don't have the customer name or the product description which will differ for every line I had looked all through the Developer's Guide before I asked the question, and as I said, there are examples of adding your pet details to the DataStore (type=cat name=Fluffy) but there aren't any examples for adding Country-Racecourse-Date-Race-Horse-Trainer-Owner-Jockey-Weight-Going-Odds-Report-Reporter or anything that even gives a simple example you can extrapolate from. What if the user wants to see a list of all the movies which came out last month which they *haven't* seen. Is there a way to do that? I can see from your answer before that I can limit the list to ones which the user has added to their list of viewed films, but is it possible to get the complimentary data set? That's a fair bit harder to do in a single query. The simplest way for a smallish number of movies would be to just fetch all the movies from the last month, then fetch all the user's movies, and then compute the set difference in Python. Mmm. I dare say that would work for most situations, but it's not what you'd call a neat solution, it's brute force, and it relies on the number of matches being less than 1000 or the results will be incomplete. If you wanted to find out how many DVDs were never rented from a video rental service over the last year, you'd have more than 1000 titles and even if you didn't, you'd have to try to match them all up with all the rentals one at a time. So it seems that it might be scalable in the sense that everyone in the universe can look up the name of their cat at the same time, but it doesn't seem to scale well if your video rental shop has more than 1000 videos or your company has more than 1000 order lines, etc. It looks like GAE might not be capable of being a real-world business solution for anything with more than noddy requirements from what you say. In SQL you could do the whole thing, 10,000,000 records in one hit. It might take a moment or two, though, but it would do it. Or is there something big that I've not discovered yet? I hope there is. Ian --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] Support for profit sharing in web 2.0 sites
Hi, I think Google (and the app engine in particular) should provide easy support for profit sharing to encourage more user participation in web 2.0 sites. Amir --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: user login problem
do you have any information on how to do this? Richie On 4 Nov., 21:14, yejun [EMAIL PROTECTED] wrote: Naked domain is no longer supported by google. I think you'd better redirect anyone use naked domain to www. On Nov 4, 3:13 pm, Richie [EMAIL PROTECTED] wrote: Hello, my application ishttp://www.eaglefeed.me Login from there works like a charme, but login fromhttp://eaglefeed.me does not. from my sourcecode users.get_current_user() seem to return None after login. what can I do about this? any help is appreciated. maybe someone could tell me, how to redirect my users as a work around. Thanks in advance, Richie --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: DataStore examples, reference, tutorial
On Tue, Nov 4, 2008 at 9:40 AM, Ian Bambury [EMAIL PROTECTED] wrote: Hi David, That's really helpful, thanks. A big step on the way So in 'lines' I'd have OrderLine objects. Are there any useful sites/pages where this info is available, to save me having to pester people like you? It's all throughout the http://code.google.com/appengine/docs/ pages. I'd suggest going through the tutorial you'll find there, as well as skimming through the sample applications. What if I wanted to pull out a list where the quantity was over 1000 and print the product description and the customer name? You don't. App Engine isn't designed for grabbing a large amount of data. Users of a web application are really not going to want 1000 pieces of data in one go. And to make it worse, I'm going to have to do something like pulling out the first 100 customers in customer name order who *don't* have any orders for product x App Engine is designed for scalable web applications, not for bulk order processing systems. I think there's a bit of a mismatch in the expectations. Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Crappiest Product from Google
I'm not sure which language automatically loads all the possible classes and modules when every line of code is run I've been developing only a year or so, but a language that does that isn't something I'd use. Maybe we should rewrite C# to load all the .NET libraries automatically, and configure PHP to scan all the .php files on the hard disk and include them. I'm sure every command would then run without any further configuration :D While we're at it why not load the whole internet for every search query? On Nov 4, 1:26 pm, Kannaiyan [EMAIL PROTECTED] wrote: Feris: Next time when I'm any Google Developer or Python Developer house for lunch, I will go with my own plates. I doubt they will have their own plates in their house. :) I'm sure I entered into wrong time assuming Google development environment will be friendly enough with less docs. Looks like New comers need to run here and there to get their application working. This is to discuss problems we are facing and the users experience for Google to understand. I hope I expressed the same. I don't understand what you mean by Productive? /Kans On Nov 3, 11:56 pm, Feris Thia [EMAIL PROTECTED] wrote: Hi Kannaiyan, This is not a productive discussions. If you feel not right with Google Apps, then it is not for you, ok ? Go with something else like Amazon EC2. On Tue, Nov 4, 2008 at 2:54 PM, Kannaiyan [EMAIL PROTECTED] wrote: Never worked with Python Guys. (Once I complete Python, Google will go for Cobra :) ) Regards, Feris --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] IP addresses from which webservice requests can come from
I need to use a third party webservice that authenticates requests as coming from specific IP addresses (yes, I know... how 20th century. Can't help it, third party, you know.) Is there a known list of IP addresses of gateways that appengine requests can be coming from, so I can provide that list to this provider? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: GAE vs. EC2
EC2 also has a lot other usage than hosting a web site. You can use it for scientific computing, video transcoding, data mining and etc. On Nov 4, 1:39 pm, sal [EMAIL PROTECTED] wrote: Point taken, in the scenario that you might have to make your own image, possibly... But assume that someone signs up for EC2, and just chooses an existing image with Python in it. Really there isn't much cooking involved correct? You should have a working server up pretty quickly... (a few other considerations: within GAE your serverside RAM can be invalidated at-random, as well as the memcache... and we're limited to using a sortof limited Datastore, rather than the full RDBMS you could have in an EC2 image) Maybe a bit like a free dinner without a fork? =) On Nov 4, 1:19 pm, yejun [EMAIL PROTECTED] wrote: I feel this comparison is similar to raw meat vs cooked dinner. On Nov 4, 12:31 pm, sal [EMAIL PROTECTED] wrote: Just curious to hear some opinions on this - especially from anyone who has experience with Amazon's EC2 as well as GAE. I just read a blog saying you can be up and running with EC2's cheapest offering with no upfront cost and 79$ a month. You get a 'real' virtualized Linux machine with 1.7GB of ram. And by clicking a button (there are free graphical admin tools now), as many more instances/images as you need will pop up instantly using a system image that you create to handle whatever load you have. (Your bill goes just up as you click into more resources). There are loads of 'public' images to pick from, some include Python already. (Others have Java, PHP, etc). By choosing one of these images you'll have Python running, with full root access to a server online that you can do whatever you like with. I guess technically, someone could just put the GAE SDK up on an EC2 box, with some tweaks, and you could almost have your GAE app running there unmodified as well? I'm using GAE because of the zero, upfront cost currently... this is great for toying around with neat ideas - but for 'real world', demanding applications... you'll eventually have to pay even for GAE. What do we have offered that something like EC2 doesn't? Google has announced another language coming in a few months - but again EC2 allows to use whichever is installed in your machine image already - any language you can use in linux I suppose... not sure if its enough to keep me onboard once my app goes over its quotas and I have to start to pay for more. looking forward to hear thoughts! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: more complicated counters/ratings (sorting?)
If I don't use transactions (with the ratings in the same entity groups as the shards they are being served by) then I can't be guaranteed I don't accidentally drop or double count ratings in the case of errors. :( Is the idea that you are recommending I just say oh well, its a drop in the bucket? -J Exactly! Consider this example: Let's say you had 100,000 ratings for a product, and 3% of them were lost (I bet the real failure of db.put() is much less than that). In the extreme case when the ratings that were saved were all '5's, and the lost ones were all '1' we get: Real average rating: 4.88 Calculated average rating: 5.00 Now this was the most extreme case possible, this scenario is more real: put() failure rate: 1% saved ratings: '5' lost ratings: '4' real average: 4.99 calculated average: 5.00 If you visualise your ratings with stars your users won't see any difference even in the most extreme case. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: user login problem
Google's official word is that you should leave redirect to your domain registrar. But your domain ready naked I think you can test os.environ[''HTTP_HOST''] to see whether it is naked or not in your request handler, then do a http 301 redirect. On Nov 4, 5:19 pm, Richie [EMAIL PROTECTED] wrote: do you have any information on how to do this? Richie On 4 Nov., 21:14, yejun [EMAIL PROTECTED] wrote: Naked domain is no longer supported by google. I think you'd better redirect anyone use naked domain to www. On Nov 4, 3:13 pm, Richie [EMAIL PROTECTED] wrote: Hello, my application ishttp://www.eaglefeed.me Login from there works like a charme, but login fromhttp://eaglefeed.me does not. from my sourcecode users.get_current_user() seem to return None after login. what can I do about this? any help is appreciated. maybe someone could tell me, how to redirect my users as a work around. Thanks in advance, Richie --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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 to get ManyToMany fields
the friends is a sub-list of memory entity. Why not load the list on lazy mode. Faint, I will manual get the lists . But how can I put the sub-list to the object. does google provide sample code on this. It's Python, you can create a member variable dynamically any time by assigning to it: memory.fetched_friends = my_fetched_entities I suggest caching the friend entities in a dictionary to avoid fetching the same one multiple times: memories = Memory.all().order('-date').fetch(limit=X) friends = {} for memory in memories: memory.fetched_friends = [] for friend_key in memory.friends: if not friend_key in friends: friends[friend_key] = Friends.get(friend_key) memory.fetched_friends.append(friends[friend_key]) You can better this code by passing an array of keys to Friends.get() to fetch all friend entities at once. -- Get notified when artists you like release new albums http://www.muspy.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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Indexing does not work
Only compound queries need index. Single column properties are already implicitly indexed. Just a small clarification, only ASCENDING single-column indices are automatically created: http://code.google.com/appengine/docs/datastore/queriesandindexes.html#Defining_Indexes_With_index_yaml --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Bulkloading CSV files - Internal Server Error 500
My previously working CSV bulk-loading scripts are now getting code 500 internal server errors everytime I run them. Any suggestions please as to why and on how to get around them. Thanks. You can check the error log from the admin interface. If it still doesn't explain the error, copy/paste the error here. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Policy on Adult Content
Hi, Does anyone know what is Google's definition of _pornographic_ in regard to the App Engine's Program Policies? http://code.google.com/appengine/program_policies.html What I'm interested in developing is a community site for kinky people, where among other things they'd be able to upload profile photos, that would likely be offensive to some but would only be viewable after registering, a site similar in nature to bondage.com or rubberpal.com Would a site of this nature have a chance of living on the App Engine? /Dunbin On Oct 30, 7:18 am, Paul Kinlan [EMAIL PROTECTED] wrote: The terms and conditions don't mention it, bower the program policiy document mentions the pornographic content is not allowed. Not sure if that restricts link to adult material. Paul On 30 Oct 2008, at 01:50, Pete [EMAIL PROTECTED] wrote: Hi, I've looked through the TC, and I'm pretty sure the application I'd like to run is allowable, but I was wondering if anyone could back this up... I'm writing a search engine that indexes adult content - specifically pornographic images and videos. The site would link to other sites, rather than host any adult content itself, although the site is, by its nature, adult, and would contain (moderated) non-pornographic previews. As far as I can tell, this should be fine. Can anyone offer any more clarity on this? Thanks P --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: user login problem
The problem you'll encounter with naked domains is random TCP errors. Testing within your actual app won't work as a result, since the request never gets that far. yejun is correct that you'll need to manage redirects through your actual registrar. How you go about doing so depends on the registrar. Daniel On Nov 4, 2:55 pm, yejun [EMAIL PROTECTED] wrote: Google's official word is that you should leave redirect to your domain registrar. But your domain ready naked I think you can test os.environ[''HTTP_HOST''] to see whether it is naked or not in your request handler, then do a http 301 redirect. On Nov 4, 5:19 pm, Richie [EMAIL PROTECTED] wrote: do you have any information on how to do this? Richie On 4 Nov., 21:14, yejun [EMAIL PROTECTED] wrote: Naked domain is no longer supported by google. I think you'd better redirect anyone use naked domain to www. On Nov 4, 3:13 pm, Richie [EMAIL PROTECTED] wrote: Hello, my application ishttp://www.eaglefeed.me Login from there works like a charme, but login fromhttp://eaglefeed.me does not. from my sourcecode users.get_current_user() seem to return None after login. what can I do about this? any help is appreciated. maybe someone could tell me, how to redirect my users as a work around. Thanks in advance, Richie --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: user login problem
On the original problem, the naked domain issue shouldn't affect users being able to log in. Have you checked which website your login cookies are being associated with? That is, login cookies from www.eaglefeed.me aren't accessible by eaglefeed.me, which may explain the problem you're running into. Daniel On Nov 4, 12:13 pm, Richie [EMAIL PROTECTED] wrote: Hello, my application ishttp://www.eaglefeed.me Login from there works like a charme, but login fromhttp://eaglefeed.me does not. from my sourcecode users.get_current_user() seem to return None after login. what can I do about this? any help is appreciated. maybe someone could tell me, how to redirect my users as a work around. Thanks in advance, Richie --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] Help: Problem using WSGIApplication to automatically generate error page
I am trying to use webapp.WSGIApplication to automatically map urls that are not otherwise mapped to a special 'not_found_handler' which would render a 'Page Not Found' response. My app.yaml maps all urls to a main.py which includes the following webapp.WSGIApplication. I have tested it but it does not work. Can anyone tell me what I am doing wrong? application = webapp.WSGIApplication([ ('/', MainPage), ('/other_page', other_page_handler), ('/another_page', anothe_page_handler), (r'/(.*)', not_found_handler)], debug=True) [You can also see the error yourself by visiting proshortsetf.appspot.com] thanks, Alok --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Help: Problem using WSGIApplication to automatically generate error page
Your code looks fine to me. Could you paste here your app.yaml file? On Nov 5, 11:20 am, Alok [EMAIL PROTECTED] wrote: I am trying to use webapp.WSGIApplication to automatically map urls that are not otherwise mapped to a special 'not_found_handler' which would render a 'Page Not Found' response. My app.yaml maps all urls to a main.py which includes the following webapp.WSGIApplication. I have tested it but it does not work. Can anyone tell me what I am doing wrong? application = webapp.WSGIApplication([ ('/', MainPage), ('/other_page', other_page_handler), ('/another_page', anothe_page_handler), (r'/(.*)', not_found_handler)], debug=True) [You can also see the error yourself by visiting proshortsetf.appspot.com] thanks, Alok --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: DataStore examples, reference, tutorial
On Tue, Nov 4, 2008 at 1:52 PM, Ian Bambury [EMAIL PROTECTED] wrote: Oh, that's easy then. Just add a .filter('quantity ', 1000) to what I wrote previously. But where would I pick up the customer name and product description? You talked about current customer and a particular product; it's up to you where those values come from. If you don't want to filter that way, but want the data for *all* customers, just get rid of the .filter('customer =', theCustomer) bit. You can then access the customer object through the OrderLine's customer property. Mmm. I dare say that would work for most situations, but it's not what you'd call a neat solution, it's brute force, and it relies on the number of matches being less than 1000 or the results will be incomplete. If you wanted to find out how many DVDs were never rented from a video rental service over the last year, you'd have more than 1000 titles and even if you didn't, you'd have to try to match them all up with all the rentals one at a time. If that's a common operation, you'd keep a running tally on the DVD record that gets incremented every time someone borrows it, and then filter on that property. There's usually ways to do these kind of filterings; you just have to think creatively sometimes. SQL hides the horrible inefficiency of the JOIN operator, so switching to App Engine requires you to think through how exactly these things have to happen. In SQL you could do the whole thing, 10,000,000 records in one hit. It might take a moment or two, though, but it would do it. There's stuff coming down the pipeline (search around this list for the roadmap) that should help with those kind of things. But really, App Engine is primarily (at least at the moment) about scalable web applications, and scalable web applications almost never have a need for serving 10,000,000 records on one request. Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Google App Engine Roadmap - Now Published
Hi, Billing will allow you to scale your application to your heart's content. So, in general, most quotas will no longer exist when billing is enabled. However, the per-request High CPU limits in App Engine are in place to protect the stability and responsiveness of the cluster as a whole. We know that this solution is not great, and we are working hard on fixing this, so that your apps don't hit this stumbling block. To be clear, we consider limiting how much CPU you can use in a single request to be a bug, and we're working hard on fixing this issue for everyone. So, the short answer is: the per-request CPU usage limits is *very* much on our radar, and while we may not have a solution in time for the release of Billing, we're working hard on it! As for the question of uploading and storing large files - the example given, uploading large files in a form, is definitely something we are planning on supporting. -Marzia On Tue, Nov 4, 2008 at 8:46 AM, johnP [EMAIL PROTECTED] wrote: On Nov 4, 5:08 am, Rodrigo Moraes [EMAIL PROTECTED] wrote: On Mon, Nov 3, 2008 at 8:14 PM, johnP wrote: roadmap: Billing: developers can pay for more resource usage). I -- rodrigo It's not clear what paying for more resource usage means. Yes, you can buy more traffic, storage, etc. It is *not* clear that apps exceeding quotas for CPU-intensive tasks will not be taken offline. I hope the Google folks can give us a clear answer here. We need to to understand if the platform is suitable for our needs. I am willing to deal with BigTable datastore limitations if my application is ultimately viable for the platform. If not, I'd prefer to develop with all the capabilities of SQL at my disposal. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: DataStore examples, reference, tutorial
On Nov 4, 1:52 pm, Ian Bambury [EMAIL PROTECTED] wrote: But where would I pick up the customer name and product description? I imagine that lines = OrderLine.all().filter('quantity ', 1000) will return me OrderLines so I now have a list of all the order lines in the system (or up to 1000 anyway) where the order quantity for that product is over 1000 units but I don't have the customer name or the product description which will differ for every line So? Someone has to get that data. In SQL, the DB will. In App Engine, you have to write the code. As a programmer, you have two choices, you can either put things together so they can be accessed at the same time or you can do some processing to combine multiple pieces of data. Since the latter is exactly what SQL joins do If you wanted to find out how many DVDs were never rented from a video rental service over the last year, you'd have more than 1000 titles and even if you didn't, you'd have to try to match them all up with all the rentals one at a time. Why? If each dvd has a unique key and a last rental time, it's trivial to write a query that will find the ones that weren't rented last year. You do have to manage the 1000 problem, but that's not terribly difficult. And, if this sort of query is common, you can even precompute some things during the rent-movie operation that will make it fairly fast. In SQL you could do the whole thing, 10,000,000 records in one hit. It might take a moment or two, though, but it would do it. 10 million records at 100 bytes/record is 1 billion bytes. That doesn't happen in a moment or two. And, if you've got lots of users doing operations that hit 1 billion bytes, you're pretty much hosed unless they're hitting the same bytes at almost the same time (or you're hitting a giant server farm). SQL is not a magic bullet. At some level, it just writes joins for you. Queries that look at at lots of records (or bytes) are going to be slow no matter who writes the joins. App Engine does penalize slow queries, but that's a good thing for user-facing code. What App Engine does need is a way to perform off-line processing. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: DataStore examples, reference, tutorial
Thanks Dave, I have more questions, but rather than taxing your patience any more, I'll go back to the Empirical Development Methodology for a while (a.k.a. Trial And Error) You've given me a lot of good pointers, thanks again Ian --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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: Help: Problem using WSGIApplication to automatically generate error page
Here is my app.yaml: application: proshortsetf version: 1 runtime: python api_version: 1 handlers: - url: /blueprint static_dir: blueprint - url: /candlestick static_dir: candlestick - url: /.* script: main.py I have also posted the main.py code here: http://pastie.textmate.org/private/hqnkofw3tnzmfy45wbdpw On Nov 4, 7:27 pm, Alexander Kojevnikov [EMAIL PROTECTED] wrote: Your code looks fine to me. Could you paste here your app.yaml file? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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] understanding the profiling output
Hi - I have a request that's sometimes taking more than 1000 mcycles, and I'd like to use the profiler to figure out what's taking so long. I implemented the profiling successfully, but the output doesn't help me too much because I can't match a lot of the function names up with parts of the API. For instance, what is google3.apphosting.runtime._apphosting_runtime___python__apiproxy.Wait ? Anyone got any insight they can lend into the below profile? Thanks, Ben Profile data: 75037 function calls (70686 primitive calls) in 0.341 CPU seconds Ordered by: internal time List reduced from 699 to 80 due to restriction 80 ncalls tottime percall cumtime percall filename:lineno(function) 150.1710.0110.1860.012 {google3.apphosting.runtime._apphosting_runtime___python__apiproxy.Wait} 2520.0220.0000.0220.000 {method '__reduce_ex__' of 'object' objects} 2575/30.0150.0000.0860.029 /base/python_dist/lib/ python2.5/pickle.py:263(save) 439/580.0070.0000.0150.000 {google3.net.proto._net_proto___parse__python.MergeFromString} 13050.0060.0000.0120.000 /base/python_dist/lib/ python2.5/pickle.py:221(memoize) 247/420.0050.0000.0770.002 /base/python_dist/lib/ python2.5/pickle.py:649(_batch_setitems) 252/470.0030.0000.0800.002 /base/python_dist/lib/ python2.5/pickle.py:339(save_reduce) 51270.0030.0000.0030.000 {method 'get' of 'dict' objects} 110.0030.0000.0220.002 /base/python_dist/lib/ python2.5/pickle.py:839(load) 45510.0030.0000.0030.000 {len} 220.0030.0000.0030.000 /base/python_lib/ versions/1/google/appengine/datastore/entity_pb.py:3477(__init__) 182/910.0020.0000.0030.000 {google3.net.proto._net_proto___parse__python.Encode} 53570.0020.0000.0020.000 {id} 49100.0020.0000.0020.000 {method 'read' of 'cStringIO.StringO' objects} 290.0020.0000.0020.000 {__import__} 210.0020.0000.0040.000 /base/python_lib/ versions/1/django/utils/html.py:53(urlize) 45630.0020.0000.0020.000 {method 'write' of 'cStringIO.StringO' objects} 13050.0020.0000.0030.000 /base/python_dist/lib/ python2.5/pickle.py:244(put) 2460.0020.0000.0030.000 /base/python_dist/lib/ python2.5/pickle.py:1253(encode_long) 150.0020.0000.0020.000 {google3.apphosting.runtime._apphosting_runtime___python__apiproxy.MakeCall} 220.0020.0000.0120.001 /base/python_lib/ versions/1/google/appengine/api/datastore.py:502(_FromPb) 11550.0020.0000.0020.000 /base/python_dist/lib/ python2.5/struct.py:54(pack) 978/8610.0020.0000.0020.000 {getattr} 2870.0010.0000.0060.000 /base/python_dist/lib/ python2.5/pickle.py:486(save_unicode) 210.0010.0000.0050.000 /base/python_lib/ versions/1/django/template/defaultfilters.py:198(urlizetrunc) 2520.0010.0000.0040.000 /base/python_lib/ versions/1/google/appengine/api/datastore_types.py: 1012(ValidateProperty) 6020.0010.0000.0010.000 {method 'encode' of 'unicode' objects} 3750.0010.0000.0050.000 /base/python_dist/lib/ python2.5/pickle.py:474(save_string) 206/420.0010.0000.0780.002 /base/python_dist/lib/ python2.5/pickle.py:634(save_dict) 17980.0010.0000.0010.000 {chr} 210.0010.0000.0020.000 /base/python_lib/ versions/1/django/template/defaultfilters.py:438(timesince) 439/580.0010.0000.0160.000 /base/python_lib/ versions/1/google/net/proto/ProtocolBuffer.py:61(MergeFromString) 1480.0010.0000.0030.000 /base/python_lib/ versions/1/django/template/__init__.py:617(resolve_variable) 33750.0010.0000.0010.000 {method 'append' of 'list' objects} 6550.0010.0000.0010.000 {built-in method match} 140.0010.0000.0010.000 {method 'clear' of 'dict' objects} 5050.0010.0000.0030.000 /base/python_dist/lib/ python2.5/pickle.py:1166(load_long_binput) 19480.0010.0000.0010.000 {isinstance} 7370.0010.0000.0020.000 /base/python_dist/lib/ python2.5/pickle.py:254(get) 820.0010.0000.0080.000 /base/python_dist/lib/ python2.5/pickle.py:684(save_inst) 11540.0010.0000.0010.000 {repr} 2520.0010.0000.0040.000 /base/python_dist/lib/ python2.5/pickle.py:526(save_tuple) 3010.0010.0000.0020.000 /base/python_lib/ versions/1/google/appengine/api/datastore_types.py:77(ValidateString) 2460.0010.0000.0040.000 /base/python_dist/lib/
[google-appengine] Re: Trouble with Zipfile, Django 1.0, GAE Django Helper
It sounds as if you've found an alternate solution, but regarding the error you ran into while following the article, the following as part of step 4 should resolve the problem: zip -r django.zip django/contrib/__init__.py django/contrib/auth django/contrib/sessions Note that you may also need to adjust MIDDLEWARE_CLASSES in settings.py to enable 'django.contrib.sessions.middleware.SessionMiddleware', since auth depends on it. Daniel On Nov 2, 9:07 pm, Dylan Lorimer [EMAIL PROTECTED] wrote: So I'm trying to get the app engine django helper working with the zipfile example for django 1.0, and running into a problem. I should also mention that I'm using the bootstrap method in the GAE django helper readme. I'm also using version 66 of the django helper (pulled via svn.) I created the django.zip following the exact instructions athttp://code.google.com/appengine/articles/django10_zipimport.html. So, the trouble I'm having is that after dropping in django.zip into the root level of my application folder, I start the app server, and in the browser see the following error(s): Traceback (most recent call last): File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 2413, in _HandleRequest base_env_dict=env_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 348, in Dispatch base_env_dict=base_env_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 1848, in Dispatch self._module_dict) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 1766, in ExecuteCGI reset_modules = exec_script(handler_path, cgi_path, hook) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/tools/dev_appserver.py, line 1664, in ExecuteOrImportScript script_module.main() File /Users/edylan/Development/JaceyPhotographs2/main.py, line 48, in main util.run_wsgi_app(application) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/ GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ google/appengine/ext/webapp/util.py, line 76, in run_wsgi_app result = application(env, _start_response) File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/ core/handlers/wsgi.py, line 228, in __call__ File /Users/edylan/Development/JaceyPhotographs2/django.zip/django/ core/handlers/base.py, line 40, in load_middleware continue ImproperlyConfigured: Error importing middleware django.contrib.auth.middleware: No module named contrib.auth.middleware looks like the error is in my django.zip that I'm creating, but I'm not sure how to fix this. Any ideas? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups 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 -~--~~~~--~~--~--~---