[google-appengine] Re: Serving static files
On Mon, Jan 26, 2009 at 3:41 PM, James Ashley wrote: > Here's my app.yaml: > > application: whatever > version: 1 > runtime: python > api_version: 1 > > handlers: > - url: /static > static_dir: static > > When I try to run dev_appserver, I get this exception/stack trace: > > $ python ./dev_appserver.py -d ../pyjamas/ > ERROR2009-01-26 04:15:15,236 dev_appserver_main.py] Fatal error > when loading > application configuration: > mapping values are not allowed here > in "../pyjamas/app.yaml", line 8, column 14 > > I've compared it with app.yaml's from various working projects, and I > just don't see the difference. It looks fine to me, too. The handlers entry is identical to what I've got going fine in my projects. It might be something fiddly. Do you have a newline character at the end of the file? Are you using a funky character? Try retyping it in by hand (no copy-n-paste). Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Serving static files
Looks to me like there's three spaces in front of "static_dir: static". Try removing one of the spaces so that there are only two. Regards, Andreas On Jan 26, 5:41 am, James Ashley wrote: > I feel like a complete idiot. > > Here's my app.yaml: > > application: whatever > version: 1 > runtime: python > api_version: 1 > > handlers: > - url: /static > static_dir: static > > When I try to run dev_appserver, I get this exception/stack trace: > > $ python ./dev_appserver.py -d ../pyjamas/ > ERROR 2009-01-26 04:15:15,236 dev_appserver_main.py] Fatal error > when loading > application configuration: > mapping values are not allowed here > in "../pyjamas/app.yaml", line 8, column 14 > > I've compared it with app.yaml's from various working projects, and I > just don't see the difference. > > What am I doing that's bone-headed here? > > Thanks, > James --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: handling timezones - problem using sample code
it's not a direct answer to your question, but http://timezones.appspot.com/ has some relevant info and code snippets. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] How-To Do Paging on App Engine
I just looked into the artile "How-To Do Paging on App Engine" in the App Engine archive and I think that the Contributor object seems to me like an overkill for that kind of problem. If you want to prevent multiple 'created' values to be equal you could just append a random number at the end of the 'created' value. This way you can do the pagination as describe in the article while minimizing the propability of multiple entries having the same 'created' value and without having to do this complicated Contributor stuff and the computational expensive user-email-md5 obfuscation. Regards, Constantin --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Streaming support?
That's too bad. Guess that in the meanwhile I'll have to do something different :) Thanks for the reply anyway... On Jan 22, 9:51 am, Nikola wrote: > I don't think GAE will be usable for video streaming anytime soon. The > platform is oriented towards doing stuff in small chunks, which > doesn't fit video streaming. There is support for long running > processes in development, but it is not even on the roadmap. > > Nik > > On 20 Ян, 12:15, alokiN wrote: > > > Hi all. > > > In the 1.7 SDK version docs, there were explicit notes indicating that > > the streaming was not supported. The new version indicates only that a > > certain type of streaming isn't supported because no data can be sent > > to the user before the handler exits. > > > Does this mean that there is a way to use GAE for video streaming? If > > so, does anyone have some hints about all that: docs/links/anything. > > > Thanks.. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: handling timezones - problem using sample code
I appreciate the pointer, but I've read the documentation and it, frankly, sucks. It's really dismaying that a company with the resources of Google is doing such a piss-poor job at delivering this toolkit. First of all, this simple thing should be trivial to solve - one line of code. The point of GAE is that it's supposed to be easy, right? Second, you shouldn't have to read 3 or 4 incomplete, poorly written, disjoint pieces of documentation to figure something out. It's not like this is a free service. Google really ought to ask themselves whether they want to do this and then look at the documentation Adobe, for example, provides for their tools. Even in Beta the Flex documentation and tools were orders of magnitude better than what Google provides. This is like, read the GAE "documentation", then read the django docs and figure out what does and does not apply, then read the docs for some python library, but we don't support it so you can't use it. Then write your own version of the python library and maybe you can do this thing that would be one line of code in Django or Java or any good toolkit. Ok two lines of code if you count the import statements. On Jan 26, 4:05 am, ryan wrote: > it's not a direct answer to your question, buthttp://timezones.appspot.com/ > has some relevant info and code snippets. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: ifequal and filters, not working
Yeah, i create a templatefilters.py instread of templatetags.py with new filter for my date formatting and now i just use a {{ game.date|twodates:game.enddate }} in my templates Great! On 14 янв, 05:25, boson wrote: > If you're creating custom tags, you could make one that does your > string-date comparison and conditionally includes its contents too, or > whatever you need like "ifmonthequal" or "ifdayequal". > > Also - do custom tags need to be paired in open/close with contents? > I.e. could you make a version of {% with %} that just assigns a > variable from then on, without requiring a closing {% endwith %}? I > haven't played with that aspect of templates much. > > On Jan 13, 3:37 pm,Elvis wrote: > > > Thank you boson! > > > I think that way not a very good, because try get simle logic in > > templates > > > I create a new custom tag {% with %}, i just get it from django > > > if somebody intrested > > > == templatetags.py > > #!/usr/bin/env python > > # > > # From Django 1.0.2 > > # > > > """Django custom template tags.""" > > > from google.appengine.ext.webapp import template > > from django.template import Library > > from django.template import Node > > > class WithNode(Node): > > def __init__(self, var, name, nodelist): > > self.var = var > > self.name = name > > self.nodelist = nodelist > > > def __repr__(self): > > return "" > > > def render(self, context): > > val = self.var.resolve(context) > > context.push() > > context[self.name] = val > > output = self.nodelist.render(context) > > context.pop() > > return output > > > def do_with(parser, token): > > """ > > Adds a value to the context (inside of this block) for caching and > > easy > > access. > > > For example:: > > > {% with person.some_sql_method as total %} > > {{ total }} object{{ total|pluralize }} > > {% endwith %} > > """ > > bits = list(token.split_contents()) > > if len(bits) != 4 or bits[2] != "as": > > raise TemplateSyntaxError("%r expected format is 'value as > > name'" % > > bits[0]) > > var = parser.compile_filter(bits[1]) > > name = bits[3] > > nodelist = parser.parse(('endwith',)) > > parser.delete_first_token() > > return WithNode(var, name, nodelist) > > > # Register the filter functions with Django > > register = template.create_template_register() > > do_with = register.tag('with', do_with) > > > == some.py > > ... > > from google.appengine.ext.webapp import template > > ... > > template.register_template_library('templatetags') > > ... > > > == templ.html > > ... > > {% with game.date|date:"n" as startmonth %} > > {% with game.enddate|date:"n" as endmonth %} > > {% with game.date|date:"d" as startday %} > > {% with game.enddate|date:"d" as endday %} > > {% ifnotequal startmonth endmonth %} > > > {{ game.date|date:"d M" }} — {{ game.enddate|date:"d > > M" }} > > > {% else %} > > > {% ifnotequal startday endday %} > > > {{ game.date|date:"d" }} — {{ > > game.enddate|date:"d M" }} > > > {% else %} > > > {{ game.date|date:"d M" }} > > > {% endifnotequal %} > > > {% endifnotequal %} > > {% endwith %} > > {% endwith %} > > {% endwith %} > > {% endwith %} > > ... > > > I think my way is very ugly* but i very green in python, django and > > appengine > > > thanks to all > > > may be somebody have a something to say? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Changine an existing entity
I have been working with Appengine for 3 months and this is my first post, but I have read with interest correspondence in this group. Thanks for all the valuable information. My original problem was simple, or so I thought. I wanted to increment a value and return it to the datastore. However, the value I do increment does not return to the datastore incremented. The code below is my attempt to find the problem, which I do but cannot explain or resolve. I iterate over a "list". In a selected entity I attempt to increment the "entrycount". I log the before and after incremented value. Works as expected. However, when I am done with the first interation, I iterate over the "list" again to review the "entrycount". As you can see by the log below, the count on Alex has retuned to zero. How is this possible? What am I missing? for lst in list: if self.request.get(lst.title): logging.error('Title: '+lst.title+str(lst.entrycount)) contacts.groups.append(lst.title) lst.entrycount = lst.entrycount+1 logging.error('Title: '+lst.title+str(lst.entrycount)) else: logging.error('Owner: '+'No title read'+str(lst.entrycount)) for lst in list: logging.error('Title: '+lst.title+str(lst.entrycount)) db.put(list) contacts.put() util.flushContacts() return True The ERROR prefix is meaningless. That is just my log output. TTP/1.1" 200 - DEBUG2009-01-26 00:14:21,203 util.py] getFeedList from cache. ERROR2009-01-26 00:14:24,217 ulist.py] Owner: No title read0 ERROR2009-01-26 00:14:24,233 ulist.py] Owner: No title read0 ERROR2009-01-26 00:14:24,250 ulist.py] Owner: No title read0 ERROR2009-01-26 00:14:24,250 ulist.py] Title: alex0 ERROR2009-01-26 00:14:24,265 ulist.py] Title: alex1 ERROR2009-01-26 00:14:24,280 ulist.py] Owner: No title read0 ERROR2009-01-26 00:14:24,296 ulist.py] Owner: No title read3 ERROR2009-01-26 00:14:24,296 ulist.py] Owner: No title read4 ERROR2009-01-26 00:14:24,312 ulist.py] Owner: No title read0 ERROR2009-01-26 00:14:24,328 ulist.py] Owner: No title read0 ERROR2009-01-26 00:14:25,030 ulist.py] Title: asdfsa#0 ERROR2009-01-26 00:14:25,046 ulist.py] Title: steveb0 ERROR2009-01-26 00:14:25,062 ulist.py] Title: lindab0 ERROR2009-01-26 00:14:25,062 ulist.py] Title: alex0 ERROR2009-01-26 00:14:25,078 ulist.py] Title: good0 ERROR2009-01-26 00:14:25,092 ulist.py] Title: test13 ERROR2009-01-26 00:14:25,108 ulist.py] Title: test24 ERROR2009-01-26 00:14:25,108 ulist.py] Title: onemore0 ERROR2009-01-26 00:14:25,125 ulist.py] Title: second0 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: handling timezones - problem using sample code
I'm able to import pytz fine in GAE...depending on what you need: from pytz import timezone from pytz import common_timezones import pytz then try: note.create_date_time.replace(tzinfo=pytz.utc).astimezone(timezone('US/Eastern')) Steve On Sun, Jan 25, 2009 at 9:49 PM, jones34 wrote: > > I'm trying simply to display a GAE timestamp in local (eastern time). > > I tried this, but it failed two different ways: > >note.create_date_time.replace(tzinfo=pytz.utc).astimezone > (Eastern_tzinfo()). > > the display is attempted by invoking note.create_date _time in > a template file > > in my dev environment, I import pytz and the code executes, but the > value displayed is still in UTC when I invoke string format methods on > note.create_date_time. > > If I deploy the code to GAE, I get a failure trying to import pytz. > What I nee > > I appreciate your help. this _really_ should not be hard. Is there a > simple way to get a utc timetamp to on both the client and the > deployed environments? > > On Jan 25, 7:24 pm, Alexander Kojevnikov > wrote: > > > Thanks, but it still doesn't work. How do you convert the gae > > > timestamp? It doesn't understand astimezone. > > > > 'astimezone' is a method of datetime.datetime class. Which type is > > your 'utc_time' variable? Could you post the code where it's > > initialised? > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: ifequal and filters, not working
Here is my code of twodates filter === templatefilters.py #!/usr/bin/env python """Django custom template filters""" __author__ = 'Igor A. Melekhine' from google.appengine.ext import webapp register = webapp.template.create_template_register() def twodates(date, enddate, delim = ' — '): """ Show two dates in nice, easy to read format """ from django.utils.dateformat import format if enddate is None or date >= enddate: return format(date, 'd M') elif date.month != enddate.month: return format(date, 'd M') + delim + format(enddate, 'd M') elif date.day != enddate.day: return format(date, 'd') + delim + format(enddate, 'd M') register.filter(twodates) On 26 янв, 15:14, Elvis wrote: > Yeah, i create a templatefilters.py instread of templatetags.py > > with new filter for my date formatting > > and now i just use a {{ game.date|twodates:game.enddate }} in my > templates > > Great! > > On 14 янв, 05:25, boson wrote: > > > If you're creating custom tags, you could make one that does your > > string-date comparison and conditionally includes its contents too, or > > whatever you need like "ifmonthequal" or "ifdayequal". > > > Also - do custom tags need to be paired in open/close with contents? > > I.e. could you make a version of {% with %} that just assigns a > > variable from then on, without requiring a closing {% endwith %}? I > > haven't played with that aspect of templates much. > > > On Jan 13, 3:37 pm,Elvis wrote: > > > > Thank you boson! > > > > I think that way not a very good, because try get simle logic in > > > templates > > > > I create a new custom tag {% with %}, i just get it from django > > > > if somebody intrested > > > > == templatetags.py > > > #!/usr/bin/env python > > > # > > > # From Django 1.0.2 > > > # > > > > """Django custom template tags.""" > > > > from google.appengine.ext.webapp import template > > > from django.template import Library > > > from django.template import Node > > > > class WithNode(Node): > > > def __init__(self, var, name, nodelist): > > > self.var = var > > > self.name = name > > > self.nodelist = nodelist > > > > def __repr__(self): > > > return "" > > > > def render(self, context): > > > val = self.var.resolve(context) > > > context.push() > > > context[self.name] = val > > > output = self.nodelist.render(context) > > > context.pop() > > > return output > > > > def do_with(parser, token): > > > """ > > > Adds a value to the context (inside of this block) for caching and > > > easy > > > access. > > > > For example:: > > > > {% with person.some_sql_method as total %} > > > {{ total }} object{{ total|pluralize }} > > > {% endwith %} > > > """ > > > bits = list(token.split_contents()) > > > if len(bits) != 4 or bits[2] != "as": > > > raise TemplateSyntaxError("%r expected format is 'value as > > > name'" % > > > bits[0]) > > > var = parser.compile_filter(bits[1]) > > > name = bits[3] > > > nodelist = parser.parse(('endwith',)) > > > parser.delete_first_token() > > > return WithNode(var, name, nodelist) > > > > # Register the filter functions with Django > > > register = template.create_template_register() > > > do_with = register.tag('with', do_with) > > > > == some.py > > > ... > > > from google.appengine.ext.webapp import template > > > ... > > > template.register_template_library('templatetags') > > > ... > > > > == templ.html > > > ... > > > {% with game.date|date:"n" as startmonth %} > > > {% with game.enddate|date:"n" as endmonth %} > > > {% with game.date|date:"d" as startday %} > > > {% with game.enddate|date:"d" as endday %} > > > {% ifnotequal startmonth endmonth %} > > > > {{ game.date|date:"d M" }} — {{ > > > game.enddate|date:"d M" }} > > > > {% else %} > > > > {% ifnotequal startday endday %} > > > > {{ game.date|date:"d" }} — {{ > > > game.enddate|date:"d M" }} > > > > {% else %} > > > > {{ game.date|date:"d M" }} > > > > {% endifnotequal %} > > > > {% endifnotequal %} > > > {% endwith %} > > > {% endwith %} > > > {% endwith %} > > > {% endwith %} > > > ... > > > > I think my way is very ugly* but i very green in python, django and > > > appengine > > > > thanks to all > > > > may be somebody have a something to say? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~---
[google-appengine] Re: Application registration issue
Hi, If I had to guess what happened, it was that you were logged in to a Google Account, and were also logged in to a Google Apps account at the same time. I agree it's pretty frustrating and confusing (for us to!), but here goes my best attempt at an explanation. Google Accounts and Google Apps authenticate against different systems, so you can be logged in to one Google Account and multiple Google Apps accounts (for different domains) all at the same time. Usually this isn't an issue because most services use either Google Apps or Google Accounts, but not both. Google App Engine allows both types of accounts with our system, and we serve different authentication pages for an account if you go to http://appengine.google.com/ or http://appengine.google.com/a/YOURDOMAIN when you sign in to App Engine. However, after you are authenticated, when you sign up for an app id we check who you are and say assign the app to 'x...@y.com' (more or less). Most of the time, if 'x...@y.com' is a Google Apps account, we'll assign the app to the Google Apps account (even if you logged in to Google Accounts). Like I said, it's pretty confusing, which is why we suggest not using accounts with App Engine that are both Google Accounts and Google Apps accounts: http://code.google.com/appengine/articles/auth.html It generally avoids this confusion. Let me know if this clears up what happened, and if you need additional help with assigning the correct admins to the correct apps. -Marzia On Sat, Jan 24, 2009 at 1:17 PM, Alistair wrote: > > Well I just logged into http://appengine.google.com/a/0gravity.co.uk > and saw the application sitting there. So even though I was logged in > with a different google account it got shoved there. > > Least it's working but really not sure why it did that. Most odd?! > > On Jan 24, 9:31 am, Alistair wrote: >> Hi there, >> >> I signed up to Google App Engine and did the sms verification which >> was completed successfully. I then selected an application name which, >> in theory, was accepted as it was available. >> >> After submitting I was taken straight back to the application >> registration page which was odd and now the app name that I selected >> is no longer available. Can't find any way to get to the control panel >> as it forces me to /start/ thinking I have no apps available? >> >> Not sure what to do now, am guessing that google might need to have a >> look into it? Appreciate anyone's advice on this though! >> >> Cheers, >> Alistair > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Why can't I sign up Adsense for my Google App Engine application?
Hi, To be honest, I am not familiar with configuring AdSense accounts, but it was my understand (and this could be incorrect), that you only had to specify a URL with AdSense if you wanted the site to serve targeted ads for your site, or the site to work behind login. But I thought that you could still serve AdSense off of any domain with the appropriate AdSense code. We have contacted the AdSense team for this issue to be fixed, but do not yet know when it might be. -Marzia On Sun, Jan 25, 2009 at 1:12 AM, fmn wrote: > > Hi Marzia, > > How does making login optional allow somebody to put adsense ads on > their app engine site? My site doesn't require login and I still can't > sign up adsense ads for it. > > Also, I thought this discussion might be helpful, it appears Blogger > had the same issue: > > http://groups.google.com/group/adsense-help-basics/browse_thread/thread/9d2c74ac7c079b69/8a493865eb12d913?lnk=gst&q=appspot# > > Thanks, > > fmn. > > > > > On Jan 22, 2:56 am, Marzia Niccolai wrote: >> Hi, >> >> I have no timeline for when this issue may be fixed. The only options >> currently would be to make login to these pages optional, or serve >> non-targeted ads on the pages that require login. >> >> -Marzia >> >> On Wed, Jan 21, 2009 at 4:54 AM, Rodrigo Alves Lima >> >> wrote: >> >> > Hi, >> >> > Does anybody know if this problem will remain unfixed for a long time? >> > Is there an easy solution? >> >> > Thanks >> >> > On 2 dez 2008, 20:53, Marzia Niccolai wrote: >> >> Hi, >> >> >> It seems that right now,AdSensedoes not allow you to list such a URL, but >> >> we are currently looking in to getting this fixed. >> >> >> -Marzia >> >> >> On Sun, Nov 30, 2008 at 8:28 PM, IN wrote: >> >> >> > When I tried to sign up my App Engine application forAdsenseI got >> >> > this message: URL cannot contain a Google host. >> >> >> > The URL I used was the standard App Engine URL: *.appspot.com >> >> >> > Thanks, >> >> > IN > > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Logging not working at all
Hi, We have not seen or heard of any issue like this. Could you please elaborate on what issue you are seeing (including any error messages) and the app id that is experiencing it? Thanks, Marzia On Sun, Jan 25, 2009 at 5:18 PM, Y wrote: > > Just want to clarify that this is for the deployed production app > > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Starting with App Engine
http://appengine.google.com/waitlist/sms_issues On Sat, Jan 24, 2009 at 4:54 PM, cjw wrote: > > Is there a way of creating and application without a mobile phone? > > I seem to be stuck with Hello World at this point. > > Earlier, I had a "before_path undefined" message. > > Colin W. > > > > -- Stay hungry,Stay foolish. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: two paging problems
Hi, There are a couple of reliable ways to do paging with App Engine for arbitrarily sized data sets, both of which are discussed in this article: http://code.google.com/appengine/articles/paging.html And the corresponding sample code: http://code.google.com/p/google-app-engine-samples/source/browse/#svn/trunk/paging The easiest way is to just use key paging, if key ordering is sufficient for your paging needs. I'm not sure what you mean by not being able index a search result, but with the paging methods described in the article, deleting an entity should not affect the ability to page. -Marzia On Sat, Jan 24, 2009 at 1:02 PM, lookon wrote: > > I've read the discussion about paging and have post some problems. But > I still have some problems. > > If I builds index by myself, I cannot index the search result. And if > I have built index for an object and delete one instance of an object, > the index will be broken. > > If I use the GAE Paginator class (http://appengine- > cookbook.appspot.com/recipe/gae-paginator-class/? > id=ahJhcHBlbmdpbmUtY29va2Jvb2tyjgELEgtSZWNpcGVJbmRleCI4YWhKaGNIQmxibWRwYm1VdFkyOXZhMkp2YjJ0eUZBc1NDRU5oZEdWbmIzSjVJZ1pFYW1GdVoyOE0MCxIGUmVjaXBlIjlhaEpoY0hCbGJtZHBibVV0WTI5dmEySnZiMnR5RkFzU0NFTmhkR1ZuYjNKNUlnWkVhbUZ1WjI4TTcM) > > Then how to deal with the 1000 result limit in GAE? I cannot page if I > have more than 1000 result. I can write my new paging class, but wish > you can give me some advice.Thanks. > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Config server to sent mail to an APP Mail
I have a domain with an email in a server; all messages can be received and sent using MX configuration. Now I have another domain that don’t use MX and APP in the same server, and when I use these email, I got an error 5.1.1 recipient address rejected: User unknown in virtual mailbox table. Studding the problem I suppose that it’s because all the email accounts are not configured in that server, are in APP of Google, when I send the email, the server don’t find the account. The email from the second domain can send and receives mails, also can sent to another APP account that isn’t hosted in the same server. I’m using these MX configuration ARecord @ IP CNAME mail@ CNAME smtp@ CNAME www @ MX @ aspmx.l.google.com. MX @ alt1.aspmx.l.google.com. MX @ alt2.aspmx.l.google.com. aspmx2.googlemail.com. aspmx3.googlemail.com. Any one had the same problem? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: two paging problems
Thanks for your reply. I've just read the article today and I will have a try. For search result, I do not know what query users give and how much result. So, I can not give a index for an instance. On Mon, Jan 26, 2009 at 6:54 AM, Marzia Niccolai wrote: > > Hi, > > There are a couple of reliable ways to do paging with App Engine for > arbitrarily sized data sets, both of which are discussed in this > article: > http://code.google.com/appengine/articles/paging.html > And the corresponding sample code: > > http://code.google.com/p/google-app-engine-samples/source/browse/#svn/trunk/paging > > The easiest way is to just use key paging, if key ordering is > sufficient for your paging needs. > > I'm not sure what you mean by not being able index a search result, > but with the paging methods described in the article, deleting an > entity should not affect the ability to page. > > -Marzia > > On Sat, Jan 24, 2009 at 1:02 PM, lookon wrote: > > > > I've read the discussion about paging and have post some problems. But > > I still have some problems. > > > > If I builds index by myself, I cannot index the search result. And if > > I have built index for an object and delete one instance of an object, > > the index will be broken. > > > > If I use the GAE Paginator class (http://appengine- > > cookbook.appspot.com/recipe/gae-paginator-class/? > > > id=ahJhcHBlbmdpbmUtY29va2Jvb2tyjgELEgtSZWNpcGVJbmRleCI4YWhKaGNIQmxibWRwYm1VdFkyOXZhMkp2YjJ0eUZBc1NDRU5oZEdWbmIzSjVJZ1pFYW1GdVoyOE0MCxIGUmVjaXBlIjlhaEpoY0hCbGJtZHBibVV0WTI5dmEySnZiMnR5RkFzU0NFTmhkR1ZuYjNKNUlnWkVhbUZ1WjI4TTcM) > > > > Then how to deal with the 1000 result limit in GAE? I cannot page if I > > have more than 1000 result. I can write my new paging class, but wish > > you can give me some advice.Thanks. > > > > > > > > > -- Stay hungry,Stay foolish. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: two paging problems
Hi, This may not work for your particular use case, but you can use an equality filter in conjunction with the key filter, so instead of something like: suggestions = Suggestion.all().filter('__key__ >=', bookmark).order("__key__").fetch(PAGESIZE+1) you could do: suggestions = Suggestion.all().filter('title =', VALUE).filter('__key__ >=', bookmark).order("__key__").fetch(PAGESIZE+1) Which would at least allow users to query on a small subset of values (those that specifically equal a property) and still allow paging on the results. -Marzia On Mon, Jan 26, 2009 at 1:02 PM, kang wrote: > Thanks for your reply. > I've just read the article today and I will have a try. For search result, I > do not know what query users give and how much result. So, I can not give a > index for an instance. > > On Mon, Jan 26, 2009 at 6:54 AM, Marzia Niccolai wrote: >> >> Hi, >> >> There are a couple of reliable ways to do paging with App Engine for >> arbitrarily sized data sets, both of which are discussed in this >> article: >> http://code.google.com/appengine/articles/paging.html >> And the corresponding sample code: >> >> http://code.google.com/p/google-app-engine-samples/source/browse/#svn/trunk/paging >> >> The easiest way is to just use key paging, if key ordering is >> sufficient for your paging needs. >> >> I'm not sure what you mean by not being able index a search result, >> but with the paging methods described in the article, deleting an >> entity should not affect the ability to page. >> >> -Marzia >> >> On Sat, Jan 24, 2009 at 1:02 PM, lookon wrote: >> > >> > I've read the discussion about paging and have post some problems. But >> > I still have some problems. >> > >> > If I builds index by myself, I cannot index the search result. And if >> > I have built index for an object and delete one instance of an object, >> > the index will be broken. >> > >> > If I use the GAE Paginator class (http://appengine- >> > cookbook.appspot.com/recipe/gae-paginator-class/? >> > >> > id=ahJhcHBlbmdpbmUtY29va2Jvb2tyjgELEgtSZWNpcGVJbmRleCI4YWhKaGNIQmxibWRwYm1VdFkyOXZhMkp2YjJ0eUZBc1NDRU5oZEdWbmIzSjVJZ1pFYW1GdVoyOE0MCxIGUmVjaXBlIjlhaEpoY0hCbGJtZHBibVV0WTI5dmEySnZiMnR5RkFzU0NFTmhkR1ZuYjNKNUlnWkVhbUZ1WjI4TTcM) >> > >> > Then how to deal with the 1000 result limit in GAE? I cannot page if I >> > have more than 1000 result. I can write my new paging class, but wish >> > you can give me some advice.Thanks. >> > > >> > >> >> > > > > -- > Stay hungry,Stay foolish. > > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Config server to sent mail to an APP Mail
Hi, This forum is for help with Google App Engine, not Google Apps. From your question, I would suggest going to the Google Apps help center: http://www.google.com/support/a/ -Marzia On Mon, Jan 26, 2009 at 12:16 PM, Invertia Web wrote: > > I have a domain with an email in a server; all messages can be > received and sent using MX configuration. Now I have another domain > that don't use MX and APP in the same server, and when I use these > email, I got an error 5.1.1 recipient address rejected: User unknown > in virtual mailbox table. > > Studding the problem I suppose that it's because all the email > accounts are not configured in that server, are in APP of Google, when > I send the email, the server don't find the account. > > The email from the second domain can send and receives mails, also can > sent to another APP account that isn't hosted in the same server. > > I'm using these MX configuration > > ARecord @ IP > CNAME mail@ > CNAME smtp@ > CNAME www @ > MX @ aspmx.l.google.com. > MX @ alt1.aspmx.l.google.com. > MX @ alt2.aspmx.l.google.com. >aspmx2.googlemail.com. >aspmx3.googlemail.com. > > Any one had the same problem? > > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Django's manage.py shell and local Interactive Development Console
For those running App Engine Helper for Django, has anyone gotten the "manage.py shell" to work consistently with the Interactive Development Console webpage ( http://localhost:8080/_ah/admin ) ? I'm getting strange behavior: entities created in manage.py shell don't appear in the console webpage until I restart the app server (manage.py runserver) and sometimes they don't appear at all. Entities defined in manage.py shell can disappear completely from the datastore after I exit the shell. I'm also getting similar behavior when I create a new entity kind. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Django's manage.py shell and local Interactive Development Console
Actually, it's the interaction between the "manage.py shell" and the Development Console's "Datastore Viewer" that I'm getting the odd behavior on. The "interactive console" does not have the proper django context setup so it's not really usable for django interaction as far as I can tell (and so i tried "manage.py shell" for interactive python access to the datastore). On Jan 27, 12:16 am, Dennis wrote: > For those running App Engine Helper for Django, > has anyone gotten the "manage.py shell" to work consistently with the > Interactive Development Console webpage (http://localhost:8080/_ah/admin > ) ? > I'm getting strange behavior: entities created in manage.py shell > don't appear in the console webpage until I restart the app server > (manage.py runserver) and sometimes they don't appear at all. > Entities defined in manage.py shell can disappear completely from the > datastore after I exit the shell. I'm also getting similar behavior > when I create a new entity kind. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: verification & uploading, spurious account mixing
Hi, First, if you are having problems verifying an account with Google App Engine, please just fill out the SMS issues form: http://appengine.google.com/waitlist/sms_issues To clarify some issues here, Google App Engine is a distinct product from Google Apps. However, Google App Engine offers developers the ability to use Google Apps authentication along with the applications they build. To allow a user to upload application versions to any App Engine app, all you need to do is add that person as a developer here: http://appengine.google.com/permissions?&app_id=YOURAPPID Once they have confirmed the request via a link sent in an email, that person can upload an application. Email accounts invited to develop an application do not need to be verified via SMS unless those developers also want to create new applications. Another point of confusion is that being a Google Apps admin account has no impact on being an admin of a Google App Engine application. You must explicitly invite people to be developers of each Google App Engine app you wish them to have permission to upload applications versions to (using the above link for each app id). Once an account has access to upload an app, doing so is very straight forward, just call appcfg.py and enter your email address and password: http://code.google.com/appengine/docs/python/tools/uploadinganapp.html -Marzia On Fri, Jan 23, 2009 at 9:25 PM, cincinnatus wrote: > > I have two testing domains, one verified and one not. By verified, I > mean the process of giving a telephone number, having Google SMS a > code, then re-entering the code. My App Engine code was mistakenly > uploaded into the wrong Premiere Edition account and verification was > done from my cell. Now I can't use my cell to request another > verification code for the correct test domain that should have been > used originally. I try using another cell phone, but Google will not > SMS that phone for a code to my second test account. So, I have no app > uploaded, I can't verify my test domain, and I can't get Google to > verify my test domain. I can't get any support to wipe my accounts out > to start all over again. Other than to go to another vendor than > Google, does anyone have a suggestion? > > Evidently there is a difference between accounts when it comes to > getting into an admin status board for an App Engine running on > appspot.com. I cannot get into any monitoring page from any account I > have. I need to know how to get into the monitoring, log status, > views, resources used, etc, pages that apply to my improperly uploaded > app. Is there a url that will get me into these pages, because I have > tried a number of times from my admin panel in my account to get into > them and all it does is take me to the url page for the App Engine. > > Lastly, is there a tutorial or a piece of Google documentation that > will show me, step by moronic step, the way to upload an application? > I would like an explanation of what accounts to use, what email/gmail/ > app accounts to use or to avoid, what is the impact of using the wrong > account, what Google code is verifying when an upload takes place, > etc. This process is very unforgiving and once a mistake is made, it > seems all the work and money put into establishing service is thrown > into the wind. > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Starting with App Engine
On Jan 25, 5:40 pm, Greg wrote: > You can create applications using the SDK, but you can't run them on > appengine without a verified account, for which you need the mobile > phone. This is inconvenient, but the reason Google do it is that it is > the easiest way to prevent anonymous accounts on appengine. Without > this safeguard, appengine would be snowed under by spammers/phishers/ > porn barons, and quickly closed down. > > If you want help with your "before_path undefined" message, you'll > have to provide much more information before anyone can help you. See > the first sticky post in this group. > > Cheers! > Greg. Greg, Thanks. I've made some progress. I have an Account Code and an Application Identifier which is said to be acceptable but when I enter various Application Titles and Save, I get the response: Already Exists This application ID or version is already in use. Return to Applications screen » Any suggestions? Colin W. > > On Jan 25, 1:54 pm, cjw wrote: > > > Is there a way of creating and application without a mobile phone? > > > I seem to be stuck with Hello World at this point. > > > Earlier, I had a "before_path undefined" message. > > > Colin W. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Oauth access to GAE application?
Does issue #974 http://code.google.com/p/googleappengine/issues/detail?id=974 need to be resolved before we can use OAuth to allow users to interact with the GAE app using their google account? For example, I want to write an android app which uses OAuth to access my GAE app, but I am not sure what to put for the scope. If I put myapp.appspot.com for the scope, will that work? I wanted to ask before actually trying it. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: handling timezones - problem using sample code
On Jan 25, 6:49 pm, jones34 wrote: > > If I deploy the code to GAE, I get a failure trying to import pytz. are you including the pytz source with your app? pytz isn't provided automatically in production. (it's not provided in the sdk either, but i'm guessing you have it installed on the machine you're developing on, so your app is importing it from its installed location.) if you want to use pytz in production, you'll need to include it with the rest of your app's code, import it from there, and deploy a new version of your app with pytz to production. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: App Engine, Eclipse and Pydev Great but how to get breakpoints???
FWIW The Eclipse environment is massively helpful for app engine even if I can't get it all to work... Well I just went back and retried everything slowly and with the benefit of more sleep. I'm definitely in debug mode since I see that from a pydev message on the console, I get a lot more and better logging, although that could also be from the SDK update this morning from Google, But no how no way can I get a break point to work. Any help appreciated. Does anyone have it working when running the dev server, and break pointing applications Python code?? On Jan 25, 9:10 pm, Faber Fedor wrote: > My app just sends and receives JSON, so here's what I do: I run my app in > debug mode and then drop to the command line and send JSON code via curl > (I'm on a Linux box). Works great. > > You should be able to set a breakpoint, fire up a browser and do whatever it > is you do and the breakpoint should break. > > How do you "know" it's running properly? It sounds as if you're doing a "Run > As..." instead of "Debug As...". > > > > On Sun, Jan 25, 2009 at 5:47 PM, dartdog wrote: > > > I've been struggling with trying to debug modifications to the Bloog > > sample app, not knowing any of the tools, so I find an issue get a > > tool > > > Finally got Eclipse and Pydev going, boy I wish I had gotten that > > going earlier, much smoother handling than Notepad++!!! Plus now I can > > run in a better runtime setup. I've been using some of Eclipse for > > report writing (Brit). > > Should have gotten on it sooner. > > But!!! I can't get breakpoints and variable watching to work on the > > App code...(using the Dev server) It displays the symbol, but never > > hits.. same with the variable watch, always says "can't evaluate" I > > know it's executing the code. I've got it right up in the start on > > Main.pyIdeas anyone??? > > I'm running in debug mode and have followed all the install tutorials > > I could find including the one on IBM's site. I'm excited by the > > possibility but short on full results. > > > If I can get this I'll really be able to get some traction I think. > > -- > > Faber Fedor > Cloud Computing New Jerseyhttp://cloudcomputingnj.com --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How-To Do Paging on App Engine
agreed, that would definitely help prevent multiple created values. using a guid generator would be even better. having said that, paging on "created" properties like that aren't really necessary now that we have __key__ filters and sort orders: http://code.google.com/appengine/docs/python/datastore/queriesandindexes.html#Queries_on_Keys they can be used manually, but i've also described a general way to use them to support scalable paging with any query: http://groups.google.com/group/google-appengine/browse_thread/thread/ee5afbde20e13cde --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: two paging problems
__key__ filters and sort orders are definitely useful here, and marzia's approach will work if it fits your query. you can also use the technique described in http://groups.google.com/group/google-appengine/browse_thread/thread/ee5afbde20e13cde to add paging support to any query using __key__. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Logging not working at all
A while back I found that doing a hard-refresh (CTRL-R) on the logging/ data viewer page sometimes "wakes up" the admin web app, like it somehow got stuck on some previous version or something... YMMV. On Jan 25, 11:17 am, Y wrote: > Logging has stopped working for my application since 20/Jan/ > 2009:18:16:19 > > This includes request-only as well. > > Anyone else seeing this issue? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Dynamically Choosing Which Properties to Write to the Datastore
Consider wrapping the get/change/put in a transaction: http://code.google.com/appengine/docs/python/datastore/transactions.html On Jan 25, 9:28 pm, David Kamenetz wrote: > I finally got this working. > > My python module looked something like this: > > from google.appengine.ext.db import Key > from google.appengine.api.datastore import Get, Put > > def edit_item(request, db_id): > > objKey = Key(str(db_id)) > > if request.method == 'POST': > objEntity = Get(objKey) > for k, v in request.POST.iteritems(): > objEntity[k]=v > Put(objEntity) > return HttpResponseRedirect('/') > > query = TestModel.get(objKey) > return render_to_response('edit.html', ({'modify_data': query,})) > > My HTML looked something like this: > > > Title: value="{{modify_data.field1}}"/> > Text: > > > > > Many thanks to Bill! > > On Jan 24, 10:32 pm, David Kamenetz wrote: > > > Thanks Bill, that was helpful. I had been browsing datastore.py in the > > SDK, but I wasn't quite sure how to use it. Your solution gave me a > > lot of ideas. > > > Regards, > > David > > > On Jan 24, 7:11 pm, Bill wrote: > > > > Hi David, > > > > On Jan 24, 8:39 am, David Kamenetz wrote: > > > > > However, if the user only enters/changes, say, the txt field on the > > > > form I only POST the txt field to the server. I don't send all the > > > > fields. My POST only has data for txt. If I use the code above on an > > > > existing entity, it will erase the title property (formitem.title). > > > > > Is there an elegant way to write only the txt element to the txt > > > > property? > > > > As far as I know, you can't write only one property when replacing an > > > existing entity, but maybe there's something that can be done at the > > > lowest levels just before going to the protocol buffer. (See > > > datastore.py and datastore_pb.py in the SDK where entity dicts are > > > being passed.) > > > > I use POSTs to create new entities and PUTs to modify existing ones or > > > store a new entity in a known url. With the PUTs, if there's an > > > existing entity, you need to read it in and then selectively modify > > > key/values depending on what's been passed from your form. > > > > So creating new entities through POST is simple. Just set whatever > > > property you want to set on model initialization, and all others are > > > not stored. > > > > You can automate the whole process by creating a Model you'll inherit > > > from (I call mine SerializableModel), and create a method that > > > iterates through all model properties, calls request.get() on them, > > > and if the get isn't None (i.e., there's a value passed in from your > > > form), you add that key/value to your entity dict. You later pass the > > > entity dict as an initializer into your Model constructor. > > > > For example: > > > > def get_entity_dict(model_class, get_func): > > > entity_dict = {} > > > for prop_name, prop_class in model_class.properties().iteritems(): > > > value = get_func(prop_name) > > > if value: > > > entity_dict[prop_name] = model_class.deserialize > > > (prop_class, value) > > > return entity_dict > > > > So in the above, get_func is set to: > > > > get_func = lambda x : some_handler.request.get(x, default_value=None) > > > > We only set key/value pairs in entity_dict for properties that are set > > > in form. > > > > The model_class.deserialize() is a routine that takes strings from the > > > form and converts them into appropriate datastore objects. > > > > So in your handler you'd have something like this in simplified form: > > > > def post(self): > > > get_func = lambda x : some_handler.request.get(x, > > > default_value=None) > > > props = get_entity_dict(MyModel, get_func) > > > obj = MyModel(**props) > > > obj.put() > > > > For the PUT case, you read the entity first, set the entity_dict to > > > the current entity values, and then do the above. > > > > I might open source the model system I've created that does all this > > > stuff. > > > > -Bill --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: asking for the python debugger
Thanks Antonin, I am almost there... Now it is working only the "first pass" when I hit the server, all the following requests will also raise the debugger but won't be able to output in the shell. Do you have an idea why? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: asking for the python debugger
Thanks Antonin, I am almost there... Now it is working only the "first pass" when I hit the server, all the following requests will also raise the debugger but won't be able to output in the shell. Do you have an idea why? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: App Engine, Eclipse and Pydev Great but how to get breakpoints???
Comments anyone??? Per the Pydev developer on his support site: Unfortunately, I don't know enough of the App Engine to say the actual problem, so, I have to get it, create an account and do an example to know what can be failing there... A common problem in web frameworks (django, turbogears, etc) is that there is usually a 2nd process spawned to run things when your files change, so, for the debugger to work properly you have to run with -- no-reload (or some option close to it), or use the remote debugger http://fabioz.com/pydev/manual_adv_remote_debugger.html ), but I'm not sure if that's true for the app engine. The problem with the post vs the bug is that I can forget to answer you (as I won't be able to go on and get an app engine example running here right now). On Jan 26, 12:26 pm, dartdog wrote: > FWIW The Eclipse environment is massively helpful for app engine even > if I can't get it all to work... > > Well I just went back and retried everything slowly and with the > benefit of more sleep. > > I'm definitely in debug mode since I see that from a pydev message on > the console, I get a lot more and better logging, although that could > also be from the SDK update this morning from Google, But no how no > way can I get a break point to work. Any help appreciated. Does anyone > have it working when running the dev server, and break pointing > applications Python code?? > > On Jan 25, 9:10 pm, Faber Fedor wrote: > > > My app just sends and receives JSON, so here's what I do: I run my app in > > debug mode and then drop to the command line and send JSON code via curl > > (I'm on a Linux box). Works great. > > > You should be able to set a breakpoint, fire up a browser and do whatever it > > is you do and the breakpoint should break. > > > How do you "know" it's running properly? It sounds as if you're doing a "Run > > As..." instead of "Debug As...". > > > On Sun, Jan 25, 2009 at 5:47 PM, dartdog wrote: > > > > I've been struggling with trying to debug modifications to the Bloog > > > sample app, not knowing any of the tools, so I find an issue get a > > > tool > > > > Finally got Eclipse and Pydev going, boy I wish I had gotten that > > > going earlier, much smoother handling than Notepad++!!! Plus now I can > > > run in a better runtime setup. I've been using some of Eclipse for > > > report writing (Brit). > > > Should have gotten on it sooner. > > > But!!! I can't get breakpoints and variable watching to work on the > > > App code...(using the Dev server) It displays the symbol, but never > > > hits.. same with the variable watch, always says "can't evaluate" I > > > know it's executing the code. I've got it right up in the start on > > > Main.pyIdeas anyone??? > > > I'm running in debug mode and have followed all the install tutorials > > > I could find including the one on IBM's site. I'm excited by the > > > possibility but short on full results. > > > > If I can get this I'll really be able to get some traction I think. > > > -- > > > Faber Fedor > > Cloud Computing New Jerseyhttp://cloudcomputingnj.com --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] ClientLogin for App Engine and HOSTED_OR_GOOGLE setting
I'm trying to login to my version simple test app using this script: http://dalelane.co.uk/blog/?p=303 The test app just displays "Hello world" when you are logged in like this: http://restapitests.appspot.com/ def get(self): user = users.get_current_user() if user: self.response.out.write('Hello world!') else: self.redirect(users.create_login_url('/'), False) I'm testing with two different accounts. "je...@hogbaysoftware.com" was created through Google Apps. And "jesse.grosj...@gmail.com" was created through google. If I access my app through a web browser then I can login and see "Hello world" using either account. But if I login via the ClientLogin, token, ACSID cookie rout then I have some problems based on the "accountType" key that I post to ClientLogin. If I use HOSTED_OR_GOOGLE then only my account "jesse.grosj...@gmail.com" can login and see "Hello world" If I use GOOGLE then both accounts can login and see "Hello world" If I use HOSTED then neither account can login This seems really odd to me because in all the examples people seem to be using HOSTED_OR_GOOGLE, and that's documented as the choice that will accept all accounts. Can someone tell me why I have to use accountType GOOGLE so that I can login with either of my accounts, instead of using HOSTED_OR_GOOGLE? Thanks for any help. Jesse --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: asking for the python debugger
Well, what do you mean by "output in the shell" ? Do you see pdb prompt in terminal? >From pdb prompt you may inspect objects by typing "pp " If you want to print something to terminal during program execution, you probably have to send it to the standard error like this: import sys;sys.stderr.write('Hello!') It depends on the way how you executed dev_appserver.py and if you did any output redirections. I would use logging module instead... --- If you are on OSX, you may try to run this project and debug main(): http://github.com/darwin/drydrop/tree/master add these lines into main() in drydrop_handler.py import sys;sys.stderr.write('Hello from main!') import drydrop.lib.dbg;drydrop.lib.dbg.b() run: rake edge_gae rake it starts dev server in new terminal window with title "DryApp", go to http://localhost:8080/ and then see "DryApp" terminal tab debugger works even without patching GAE SDK hmm, strange anyway, this may be good example, I've just tested it here on my machine Antonin On Mon, Jan 26, 2009 at 9:47 PM, Mat wrote: > > Thanks Antonin, > I am almost there... > Now it is working only the "first pass" when I hit the server, all the > following requests will also raise the debugger but won't be able to > output in the shell. > Do you have an idea why? > > > --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: asking for the python debugger
Let say I type: (pdb)print "hello" (pdb) Nothing won't be displayed as in a standard pdb shell. thanks, Mathieu --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How expensive are queries
I got rid of Django dispatch loop and it saved 500ms per request, one third of some requests. > Do you have to merge the results from a couple of queries? Yes, some queries (ANCSESTOR) may return objects I already have, and since I store some transient data in them I need to make sure I have only one copy. > Why don't you cache the result from the template rendering? Thanks for the suggestion. Sounds good. On Jan 22, 3:26 pm, djidjadji wrote: > Using get(key) is faster then a Model.gql().fetch() or Model.all().fetch(). > db.get(key_list) is faster. But still you have to go to the datastore > and that takes time. > But getting data from memcache is very fast. > > Why don't you cache the result from the template rendering? > > > The only extra Python code is to keep track of objects in a dictionary > > to make sure I have only one copy of every object. > > Do you have to merge the results from a couple of queries? > > I don't know how efficient Django as a framework is. > I only use the template rendering. > And that is not very expensive. > > 2009/1/22 Roman : > > > > > There is not much going on in the Python code. Based on URL I retrieve > > a few objects and setup a context for a template. I memcache either > > objects > > or keys (assuming that get(key) is as fast as getting an object from > > memcache). > > The only extra Python code is to keep track of objects in a dictionary > > to make > > sure I have only one copy of every object. > > > I am using django dispatch loop and noticed that a redirect request > > alone > > (too add a /) may take 500 ms. A request that results in all objects > > or keys > > coming from memcache (say 10) still can take sometimes 1600ms, which > > gives me a red warning (I think 1500 is the threshold). > > > I wonder how accurate is the time sampling. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Calculating Ranks
thanks for pinging us! they were actually ahead of me on this, and they published that library a while back: http://code.google.com/p/google-app-engine-ranklist/ we'll probably post something about it to the app engine blog soon. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: counting
[bump] the team behind the google code jam app recently published their real time ranking library for app engine: http://code.google.com/p/google-app-engine-ranklist/ it uses a bucket-based data structure similar to the one peter proposed. we'll probably post something about it to the app engine blog soon. happy hacking... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Video conversion with GAE
I was wondering if anyone had any insight on handling video with GAE? I'm building a site where users can upload their own videos. I figure I'll use GAE for the app and then I'll store the videos out on Amazon S3. But I need a place for the conversion part. Before I push the video to S3... I need to make sure it's in the right format by converting it. Is this possible with GAE? Oh and I don't want to use YouTube API. Any help is appreciated! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Permanent Unique User Identifier (part 2)
As a follow-up to this thread here: http://groups.google.com/group/google-appengine/browse_thread/thread/3fd2673793031c20/bb9592e453519a84 I've created a defect report here: http://code.google.com/p/googleappengine/issues/detail?id=1019 I'm really hoping Google can do something, as I'm hesitant to proceed with any of my App Engine ideas knowing that my users are going to get burned :| -Ryan --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Announcement: gaeutilities 1.1.2
gaeutilities - http://gaeutilities.appspot.com/ - release 1.1.2 is now out. It is strongly recommended anyone using the session class upgrade to this version. 1 critical and 1 important bug is solved in this release. Also there is a marginal performance increase by being able to configure how often the last_activity field is updated, removing the need to have a put on every request. 1.1.2 - session: Added last_activity_update variable to set an interval for which last_activity needs to be updated. It defaults to 60 seconds. This means a put is not required every request which should increase performance. - session: Refactored based on a contribution from Jeremy Awon optimizing the class initialization. - session: Bug found in the process to clear old sessions that was deleting data it shouldn't be. This was the cause of the mysterious missing session data bug. Thank you pant.lalit - session: Bug fixed where clean_check_percent was being ignored. - session: Some tweaks done to delete_all_session(), though this feature shouldn't be considered complete yet. Needs more testing. More performance improvements are planned for the 1.1.3 release which will be coming soon. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Permanent Unique User Identifier (part 2)
As someone suggested in that thread, I'd suggest you look at Google Openid. I went this route because it also offers a way for you to persist your user identity if you move your domain off of appengine. On Jan 26, 5:22 pm, Ryan Lamansky wrote: > As a follow-up to this thread > here:http://groups.google.com/group/google-appengine/browse_thread/thread/... > > I've created a defect report > here:http://code.google.com/p/googleappengine/issues/detail?id=1019 > > I'm really hoping Google can do something, as I'm hesitant to proceed > with any of my App Engine ideas knowing that my users are going to get > burned :| > > -Ryan --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to append to BlobProperty
> No, doesn't work. I got > > unsupported operand type(s) for +=: 'BlobProperty' and 'str' > > Same as before. > Could you post here all related code, including the construction of a Storage entity? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Django's manage.py shell and local Interactive Development Console
Dennis, The development appserver appears to load the local datastore file on startup so you will need to restart the shell to see updates made in the admin. Ian 2009/1/27 Dennis > > Actually, it's the interaction between the "manage.py shell" and the > Development Console's "Datastore Viewer" > that I'm getting the odd behavior on. > The "interactive console" does not have the proper django context > setup so it's not really usable for django interaction as far as I can > tell > (and so i tried "manage.py shell" for interactive python access to the > datastore). > > > > On Jan 27, 12:16 am, Dennis wrote: > > For those running App Engine Helper for Django, > > has anyone gotten the "manage.py shell" to work consistently with the > > Interactive Development Console webpage (http://localhost:8080/_ah/admin > > ) ? > > I'm getting strange behavior: entities created in manage.py shell > > don't appear in the console webpage until I restart the app server > > (manage.py runserver) and sometimes they don't appear at all. > > Entities defined in manage.py shell can disappear completely from the > > datastore after I exit the shell. I'm also getting similar behavior > > when I create a new entity kind. > > > -- === 株式会社ビープラウド イアン・ルイス 〒150-0012 東京都渋谷区広尾1-11-2アイオス広尾ビル604 email: ianmle...@beproud.jp TEL:03-5795-2707 FAX:03-5795-2708 http://www.beproud.jp/ === --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Anyone have breakpoints working in Eclipse python with Dev server???
They Pydev Eclipse solution is the way to go for app engine: see My post in this group here: http://groups.google.com/group/google-appengine/browse_thread/thread/d1731cba94022f8d/d5f98075135c8578?hl=en#d5f98075135c8578 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Contacting Appengine Team
Hello All, Im keen to get started with AppEngine. Unfortunately, I decided to delete the account I first registered with as I have moved to google apps and planned to use my account as registered there. Now I am unable to recreate the account as my mobile has already been used. Would anyone be so kind as to provide me with a method of contacting someone so I may get this resolved? I did try the SMS issue reporting, but there appears to be problems if you have more than a handful of characters in the comments box. Kind Regards, Matt Williams --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] GAE datastore insertion rate
I've developed a service on GAE, that takes small POSTS (160 bytes) from devices in the field, and stores them into the datastore. A device will send a package of 4 notes once a minute, during operational hours. These notes are unpacked and placed into the datastore (one entity Note). I started a simple benchmark of 1,000 devices. To my surprise, I got a bunch of these errors: "too much contention on these datastore entities. please try again." 1000 devices * 4 notes per minute gives me a rate of approximately 67 inserts per second. Is this an issue with the 'beta', or is this a reality of the datastore? Thank you, -David Story BTW, I was using approximately 10 CPU seconds per second during this run. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: GAE datastore insertion rate
After watching Brett's video, the answer became clear. http://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine Create a group entity for each device. Then all device's can have their notes inserted in parallel. I will give this a try and report back. -David Story --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Video conversion with GAE
That's a big no-no on AppEngine. AppEngine is designed for lightweight HTTP requests. Video transcoding is a big heavy bag of number crunching. VideoEgg's original business model was to do this sort of transcoding, but I believe they are out of that business. I think Blip.tv will help you, so long as your videos are appropriate to post on their service. Your other option is to set up a single-purpose server somewhere that runs ffmpeg on each video. You'd send it the raw files, and it would send you and email or something when they were ready. Since you're already learning AWS, you could do ffmpeg on EC2. One of the things I like about AppEngine is you don't have to be a systems admin to get a good setup going. Unfortunately, AWS is more system- adminie. Good luck! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Having problems posting to the AppEngine Cookbook
Usability question: How do you feel about comments being listed in reverse-chronological order (as they are now) versus forward-chronological order (the standard for most comments/forums/threaded discussions)? It's kind of nice to have the most recent (hopefully most relevant) discussions bubble up nearest to the article. Then again, it is inconsistent with user expectations from the greater Web. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: GAE datastore insertion rate
I created a root group entity for each Device. I modified the Note entity to use it's Device as its parent. device = Device.get_by_key_name(name) if device != None: for n in noteList: note = Note(parent=device, n) note.put() Now I'm seeing this error: The API call datastore_v3.Get() required more quota than is available. According to my interpretation of Brett, in that video, "get by key is very fast". Again I ask, is this a limit of the beta, or a reality of the datastore? -David Story --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: GAE datastore insertion rate
Hi David, On Mon, Jan 26, 2009 at 9:54 PM, iDavid wrote: > I created a root group entity for each Device. > I modified the Note entity to use it's Device as its parent. > > device = Device.get_by_key_name(name) > if device != None: >for n in noteList: >note = Note(parent=device, n) >note.put() Have you considered using a batch-put here? Like this: device = Device.get_by_key_name(name) if device: notes = [Note(parent=device, n) for n in noteList] db.put(notes) That should do the writes in parallel, which should increase your throughput. > Now I'm seeing this error: > The API call datastore_v3.Get() required more quota than is available. Otherwise, it sounds like you're hitting quota limits, which is probably related to the way you're running your load test. How many requests per second were you issuing? Approximately how many Note entities were you inserting per second? 10 CPU seconds per second doesn't make this quite clear. We have short-term quota limits in place for handling very large bursts of usage. More detail is here: http://code.google.com/appengine/docs/quotas.html#Burst_Limits You may be hitting one of these burst quotas because of your load. Another possibility is that you're using key_names for your Device and Note instances that are sequential or lexically "close", which could cause hotspots in your Bigtable access patterns. When you run the load test, in what order are you writing Notes to Devices? -Brett --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---