Re: [google-appengine] Best Practices for PHP

2013-12-05 Thread Brian Quinlan
On 5 December 2013 17:30, Gary Mort garyam...@gmail.com wrote:
 I was wondering if there are any best practice web sites on using PHP on
 Google App Engine.

 While working through installing the Joomla! CMS on GAE I've run into some
 weird oddities and initially have taken a rather brute force approach to
 work through them.

 Being unhappy with the brute force method[which requires modifying core
 files in the open source code in order to accommodate GAE] I have continued
 to cycle on it in the back burner and am trying an alternate approach right
 now.

 Specifically, in Joomla there are 3 main entree points to an application:
 http://mydomain.com/index.php
 http://mydomain.com/administrator/index.php
 http://mydomain.com/installation/index.php


 So far I've run into 2 issues:
 1) Joomla uses XML files in order to define html form's.  PHP is used to
 parse those files and then build the forms.  GAE disables the ability to
 load /remote/ XML files in PHP by default.  It is possible to allow this by
 add libxml_disable_entity_loader to the list of enabled functions and then
 to call libxml_disable_entity_loader(false); at some point in the code.  For
 some reason, despite the fact that these are LOCAL xml files Jooma attempts
 to read, I still need to use this fix to allow Joomla to read the local
 files.

 2) Joomla defaults to saving sessions in files, GAE defaults to saving
 sessions in memcache.  Attempt to save session files using the default
 save_path does not work since the path does not exist.  Making a small hack
 to make memcache the default does not work because Joomla checks for the
 existence of the Memcache extension[via extension_loaded()] which does not
 exist in GAE.

I've filed a bug for this:
https://code.google.com/p/googleappengine/issues/detail?id=10371

Cheers,
Brian

   A slightly more involved solution required me adding a new
 GaeMemcache class to override that check, and modifying a core class to
 force it to enable GaeMemcache.

 None of this is bad...it's just inelegant and messy.

 It strikes me that this was the wrong way to go about it.  Because of the
 way GAE is configured through app.yaml to match URI patterns to individual
 php files - instead of changing the core code, I can instead provide a
 pre-loader to process the file.

 So my new file structure will be as follows:
 /gae/joomla-site.php
 /gae/joomla-install.php
 /gae/joomla-admin.php
 /gae/lib/gaememcache.php
 /gae/appl.yaml
 /joomla-cms : submodule git repository pointer for the Joomla-CMS repository


 With this layout, I can now define my 3 entree points so that instead of
 loading the various index.php files directly, I can proxy the call first by
 the /gae/joomla* php file.  That gives me the ability to make any Google App
 Engine modifications needed[defining a special memcache handler for GAE,
 making my libxml_disable_entity_loader function call - etc.  No core hacks
 needed - now I can just setup a special pre-processors to handle everything.

 The configuration ability of GAE is extremely fascinating..  In many ways it
 is overly cumbersome for simply usage due to the options available - but the
 options also allow for neat little workarounds[I also realized that instead
 of hacking the core file, I could have made a copy of the core file under my
 gae directory and used the upload path overrides to overwrite the core files
 only when uploaded/deployed to GAE]

 What I am somewhat curious about is if there are any best practices
 tutorials out there since this sort of situation seems like it should be
 common, and the various answers are intuitive once you start groking the GAE
 deployment system.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine.
 For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [google-appengine] Re: how to set GAE_SDK_ROOT environment variable?

2013-11-27 Thread Brian Quinlan
How are you invoking dev_appserver.py? Is it through a symlink?

Cheers,
Brian

On 23 November 2013 12:24, Martin Caceres Murrie mcacer...@gmail.com wrote:
 I am getting the same error when running dev_appserver.py .

 Any clue?

 El sábado, 23 de noviembre de 2013 12:40:28 UTC-3, saintthor escribió:

 i didn't update my app for weeks. today, when i try to update, the
 appcfg.py dosn't work. info as:

 urllib2.URLError: urlopen error [Errno 111] Connection refused

 i downloaded a new version package. then update. it shows me:

 ValueError: Could not determine SDK root; please set GAE_SDK_ROOT
 environment variable.

 what dose it mean? i think there may be some new settings in new version.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine.
 For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [google-appengine] Re: gae urlfetch down

2013-07-29 Thread Brian Quinlan
Hi Andy,

Are you sure that you aren't attempting to catch InvalidURLError without
having imported that name? Python does not check that exception patterns
have existing names until an exception (*any* exception is thrown) e.g.

 try: ... 1 ... except Foo: ... pass ... 1

 try: ... 1/0 ... except Foo: ... pass ... Traceback (most recent call
last): File stdin, line 3, in module NameError: name 'Foo' is not
defined

Cheers,
Brian


On 27 July 2013 16:20, Andy Warner andy.war...@gmail.com wrote:

 Looks like it started at exactly 4pm Pacific. I have requests moments before 
 that were fine and everything after is throwing a name error for 
 InvalidURLError, so it is not just fetches failing, urlfetch is missing 
 libraries in webapp2.


 except InvalidURLError:

 NameError: global name 'InvalidURLError' is not defined


 On Saturday, July 27, 2013 4:06:27 PM UTC-7, Adam Sah wrote:

 ouch!

 adam

  --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] Modules and runtimes

2013-07-26 Thread Brian Quinlan
Hi Ronoaldo,

Yes!

Cheers,
Brian


On 25 July 2013 20:15, Ronoaldo Pereira ronoa...@gmail.com wrote:

 Can I have an application module (or backend) using the Go runtime and
 keep my front-ends using Java runtime?

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] Please help! Invalid runtime or the current user is not authorized to use it.

2013-07-23 Thread Brian Quinlan
Hi,

The PHP runtime is currently in Limited Preview - so before you can upload
your application you'll need to register it at
https://gaeforphp.appspot.com/

Cheers,
Brian


On 23 July 2013 15:03, Nitin Manchanda nitinmanchanda.pu...@gmail.comwrote:

 Hi,

 I'm a registered user of google apps engine and i have created an
 application which i am using in my app.yaml configuration file, but when i
 am trying to deploy my php app on production box, it shows the following
 error and stops me there:

 *$ appcfg.py update .
 Host: appengine.google.com
 Application: my-app-id; version: 1

 Starting update of app: my-app-id, version: 1
 Getting current resource limits.
 Scanning files on local disk.

 Error 400: --- begin server output ---
 Invalid runtime or the current user is not authorized to use it.
 --- end server output ---*

  --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] Puzzled by promotion of Go for high performance web serving

2013-06-17 Thread Brian Quinlan
On 17 June 2013 16:39, Andrew Gerrand a...@google.com wrote:

 On 18 June 2013 09:28, Andrew Gerrand a...@google.com wrote:

 Yet C++ style guide forbids the use of exceptions. Perhaps our systems
 aren't large or commercial enough for us to see the value. ;-)


 That's supposed to say Google's C++ guide. My apologies.

While what you say is true, that's mostly a historical artifact:
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Exceptions

Cheers,
Brian


 Andrew

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine.
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] New Development Server URLFetch doesn't seem multithreaded

2013-05-23 Thread Brian Quinlan
Hi John,

On 23 May 2013 10:45, John Wheeler j...@highvolumeseller.com wrote:

 Hello,

 I am using the new python development server with the app engine 1.8.0
 release. The Google Code page for said dev server here:

 https://code.google.com/p/appengine-devappserver2-experiment/

 states

- Multithreaded serving for *better* *performance* for complex
applications and more correct semantics e.g. accessing your own application
through urlfetch no longer deadlocks.

 However, and I don't know if I'm getting the meaning mixed up, but it
 doesn't appear like it can run URLFetches concurrently with one another.

 I have a task the fans-out a whole bunch of URLFetches, and they process
 one at a time, very slowly in the new development server. I want them to
 process at the same time.


Could you explain exactly what you mean by I have a task the fans-out a
whole bunch of URLFetches Do you have many task queue tasks that make
synchronous calls using urlfetch, a single task that uses asynchronous
urlfetch,
or something else? Because tasks do *not* (currently) execute in parallel.

Cheers,
Brian


 Furthermore it appears each one starts a new instance because in the dev
 admin console, I refresh the page and there's only one instance listed with
 a request count of 1 at any given time. This is in the new dev server that
 ships with the SDK - this doesn't happen if I clone the Google repo above
 and run from that--but the URLFetches still process serially in either case.

 John

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] New Development Server URLFetch doesn't seem multithreaded

2013-05-23 Thread Brian Quinlan
Hi John,

On 23 May 2013 15:41, John Wheeler j...@highvolumeseller.com wrote:

 I have a task that spawns more tasks, each potentially spawning even more
 tasks, and they all do URLFetches.

 Thank you for clarifying this. You're saying it's not that we can't do
 concurrent URLFetch, we can't do concurrent tasks.


That's right.


 Is concurrent tasks on the roadmap by any chance?


I don't know of any short-term plans to add concurrent task execution to
the development server.

Cheers,
Brian



 Thank you,
 John

 On Thursday, May 23, 2013 1:38:01 PM UTC-7, Brian Quinlan wrote:

 Hi John,

 On 23 May 2013 10:45, John Wheeler jo...@highvolumeseller.com wrote:

 Hello,

 I am using the new python development server with the app engine 1.8.0
 release. The Google Code page for said dev server here:

 https://code.google.com/p/**appengine-devappserver2-**experiment/https://code.google.com/p/appengine-devappserver2-experiment/

 states

- Multithreaded serving for *better* *performance* for complex
applications and more correct semantics e.g. accessing your own 
 application
through urlfetch no longer deadlocks.

 However, and I don't know if I'm getting the meaning mixed up, but it
 doesn't appear like it can run URLFetches concurrently with one another.

 I have a task the fans-out a whole bunch of URLFetches, and they process
 one at a time, very slowly in the new development server. I want them to
 process at the same time.


 Could you explain exactly what you mean by I have a task the fans-out a
 whole bunch of URLFetches Do you have many task queue tasks that make
 synchronous calls using urlfetch, a single task that uses asynchronous 
 urlfetch,
 or something else? Because tasks do *not* (currently) execute in parallel.

 Cheers,
 Brian


 Furthermore it appears each one starts a new instance because in the dev
 admin console, I refresh the page and there's only one instance listed with
 a request count of 1 at any given time. This is in the new dev server that
 ships with the SDK - this doesn't happen if I clone the Google repo above
 and run from that--but the URLFetches still process serially in either case.

 John

 --
 You received this message because you are subscribed to the Google
 Groups Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to google-appengi...@**googlegroups.com.
 To post to this group, send email to google-a...@googlegroups.**com.

 Visit this group at http://groups.google.com/**
 group/google-appengine?hl=enhttp://groups.google.com/group/google-appengine?hl=en
 .
 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .






-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] Re: Breakpoints broken in new dev_appserver (1.7.6)?

2013-03-24 Thread Brian Quinlan
Hi Renzo,

On 23 March 2013 01:20, Renzo Nuccitelli ren...@gmail.com wrote:

  This is related with the local server improvements. So keep the 1.7.5
 with you want to debug your program until they fix it.


1. You don't need to keep 1.7.5 - the old new dev_appserver is available in
1.7.6 with the name old_dev_appserver.py
2. The multi-process now used by dev_appserver.py means that debuggers will
have to work differently to inter-operate with it. This document explains
how that will work in 1.7.7:
https://docs.google.com/document/d/1CCSaRiIWCLgbD3OwmuKsRoHHDfBffbROWyVWWL0ZXN4/edit#heading=h.fj44xnkhr0gr

A preview of those debugging features can be found here:
https://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.8.zipcan=2q=#makechanges

Cheers,
Brian



  Renzo


 On Wednesday, March 20, 2013 12:21:47 AM UTC-3, Dylan Sale wrote:

 Hi,

 I have updated to 1.7.6 and noticed the new dev_appserver. Nice! I did
 notice that PyDev (Eclipse plugin) breakpoints no longer work when using
 it. Does anyone know how to get breakpoints working again (with or without
 pydev). I guess this could be a question for the PyDev people, but I
 thought I would ask it here in case someone had encountered a similar
 problem. I assume it is due to the new server spawning new processes or
 something.

 For now I am using old_dev_appserver.py but I assume this will be
 deprecated at some point.

 Thanks

  --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] Re: Important for Python developers - Updates to the Development Server in 1.7.6

2013-03-21 Thread Brian Quinlan
The Python 2.5 deprecation blog post is here:
http://googleappengine.blogspot.com.au/2013/03/python-25-thanks-for-good-times.html

Cheers,
Brian


On 22 March 2013 05:58, Darien Caldwell darien.caldw...@gmail.com wrote:


 On Tuesday, March 19, 2013 5:57:02 PM UTC-7, Andrew Jessup wrote:

 Python 2.5 applications are no longer officially supported on the new
 Development Server in line with our deprecation announcement (**although
 they may still be run)



 I must have missed that notification. I know 2.7 was brought online, but
 I've seen nothing to indicate 2.5 was being depreciated or removed.
 Where/when was this announcement?

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] warmup service and 1.7.6

2013-03-21 Thread Brian Quinlan
Hi,

On 22 March 2013 05:46, GAEfan ken...@gmail.com wrote:

 Hi.

 What happened to warmup service and 1.7.6?  First, I do not remember
 warmup being called in the dev environment in the past.  Is that new, and
 how do I turn off warmup in development?


Warmup requests may be done in the development server now. That is a
feature that we added to cause it to behave more like the production App
Engine environment. There is currently no option to disable warmup requests
in the development environment, could you explain why you want to do so?

Second, /_ah/warmup is no longer  a valid url.  Am I missing something in
 the docs?  Is this no longer the proper call in app.yaml:

 inbound_services:
 - warmup


I don't understand what you mean here. Could you explain what you mean by:
/_ah/warmup is no longer  a valid url.

Cheers,
Brian


 ?

 Thank you.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] warmup service and 1.7.6

2013-03-21 Thread Brian Quinlan
Hi,

I still don't fully understand. You are opting into warmup requests so
you must want to receive these requests in production App Engine. What
is different about the development environment that you don't want
these requests there?

Cheers,
Brian

On 22 March 2013 07:25, GAEfan ken...@gmail.com wrote:
 Thanks for the reply, Brian.

 I am seeing 301's from /_ah/warmup in the logs.  There is no url mapping
 for that url, so it redirects to my default page, which triggers all kinds
 of other processes.

 So, I would like to turn it off in dev, or at least find the proper mapping
 for /_ah/warmup.

 Thanks again.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] warmup service and 1.7.6

2013-03-21 Thread Brian Quinlan
On 22 March 2013 10:01, GAEfan ken...@gmail.com wrote:

 Hi Brian:

 Is /_ah/warmup supposed to map to any particular response?  Right now,
 there is no mapping for that url, and it gives a 301 to my default view.


No, the mapping is up to you. Have you read:
https://developers.google.com/appengine/docs/python/config/appconfig#Warmup_Requests



 I undertand the benefits of having the devserver match production, to test
 the actual performance (and thank you for that!).  I am just not used to
 seeing the 301's in my logs.  Should I map /_ah/warmup to a simple http
 response?  Wouldn't that keep the instance warm without sending a request
 to an irrelevant view?


The idea is that your /_ah/warmup handler should load whatever state you
need to make subsequent requests faster. That might mean doing imports,
loading template files, fetching configuration settings out of datastore or
files, etc. If your warmup handler doesn't load any interesting state then
there is no reason to opt into warmup requests.

 I am just seeing my development logs polluted with extra messages spawned
 by a view that I did not request.  I can learn to live with it.


You might want to change your app because you could have the same issue
when you deploy.

Thanks.  BTW, will you be bringing more chocolate bars to I/O?


Sorry, some things are classified ;-)

Cheers,
Brian

  --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] What I learned while migrating to the new dev app server for python

2013-03-17 Thread Brian Quinlan
Hey PK,

Thanks for this great write-up!

On 18 March 2013 05:15, PK p...@gae123.com wrote:
[snipped]

 1.3 In addition to the datastore data and the blob data, logs now end up
 in some structured storage. I did not realize that at the beginning and
 running multiple configuration side by side was causing corruptions and
 weird crashes. So make sure you set the *--logs_path* to point to where
 the logs sqlite file should be located. I am not sure what the default is.


By default all of the persisted state or an application (e.g. blobstore,
datastore, logs) is stored in the directory specified by  *--storage_path*.
If that flag isn't specified, then the default is to create new directory
in /tmp like appengine.appid.userid. The name and location is
different on Windows.


 1.4 dev_appserver.py would not run the tasks by default if you set the *
 --enable_tasks=no* but you could manually run them from the admin
 console. In the new server this option turns off the tasks completely, not
 clear if this is a bug or a new feature.


Bug.


 1.5 -d does not cut it for debug, you now needs to say *--log_level=debug*
 2. Observed performance is about the same as before both from my
 experience and the measurements (it took a while to get there but it seems
 that now we are there)
 3. I was using remote_api without specifying both the host and port of my
 server before. devappserver2.py is pickier. It took Sam and I several
 interaction to nail this issue.
 4. The new server uses different options for log_levels of your code vs
 the dev server code (--*dev_appserver_log_level* vs --*log_level*). This
 is awesome but might be confusing!!


--*dev_appserver_log_level* should not be used by most people - it is most
useful in debugging dev_appserver behavior, not application behavior.


 5. The new server does not seem to pick up application file modifications.
 Please star issue
 https://code.google.com/p/appengine-devappserver2-experiment/issues/detail?id=54
  if
 you experience the same issue.


This definitely doesn't effect everyone and we are still investigating why
it is effecting you.

Thanks again for the great feedback! Hopefully we'll be able to sort your
issues out soon.

Cheers,
Brian



 Best,
 PK
 http://www.gae123.com

  --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] Re: What I learned while migrating to the new dev app server for python

2013-03-17 Thread Brian Quinlan
Hi Kaan,

On 18 March 2013 08:36, Kaan Soral kaanso...@gmail.com wrote:

 Thanks a lot for sharing this.
 I see that I'm only missing the log_path (I remember checking the log file
 once, it was an sqlite too, really useful if you ask me, but it's not used
 anywhere yet, wishing it will soon be)

 I starred your issue too, 1.1 trigger a code path not sure what you mean
 by this, but I also, very rarely, see modifications not live, when you add
 a blank line and save, it starts showing, very rarely happens


If you rarely see this problem and it resolves itself when you save again,
it is likely working as intended (though maybe not as well as the old
development server).

Here is the full explanation. In the original development server, requests
were processed sequentially so file modifications were checked with each
request. The new development server supports concurrent and long-running
requests, which makes this model problematic - you don't want to kill an
instance that is currently handling another requests if a change is
detected. So the change detection is done asynchronously about every 2
seconds. If a change is detected then the development server waits until
all currently active requests finish and then restarts the instance. So it
is expected that sometimes you may have to wait 2-3 seconds for your
changes to be seen. We can reduce that time but it will result in more CPU
usage.

Cheers,
Brian




 On Sunday, March 17, 2013 8:15:32 PM UTC+2, PK wrote:

 As you have probably read 1.7.6 is slated to ship with a new development
 server. Last weekend,  I finally moved over our infrastructure to the new
 development server for python after a few months of on and off efforts. I
 was already using HDR  sqlite so no surprises there. Many thanks to Brian
 and Sam for fixes and assistance that goes back to December.

 Here are some things that might help your transition and wish I knew on
 day one:

 (Unfortunately a productivity related blocker bug see point 5 below still
 keeps me on the old server, but all the regression tests now run with the
 new server)

 1. The new server is not command line option for option backwards
 compatible. It seems that the Google team took a chance to clean up a
 little bit, so expect that you will need to make some changes in your
 scripts. Take a look at the new options before you do anything else.
 In particular:
 1.1 The host name is now specified using *--host* instead of -a or
 --address
 1.2 The admin part now runs as a different server so if you run multiple
 configurations on the same machine make sure you use the options *
 --admin_host* and *--admin_port* to set them
 1.3 In addition to the datastore data and the blob data, logs now end up
 in some structured storage. I did not realize that at the beginning and
 running multiple configuration side by side was causing corruptions and
 weird crashes. So make sure you set the *--logs_path* to point to where
 the logs sqlite file should be located. I am not sure what the default is.
 1.4 dev_appserver.py would not run the tasks by default if you set the *
 --enable_tasks=no* but you could manually run them from the admin
 console. In the new server this option turns off the tasks completely, not
 clear if this is a bug or a new feature.
 1.5 -d does not cut it for debug, you now needs to say *--log_level=debug
 *
 2. Observed performance is about the same as before both from my
 experience and the measurements (it took a while to get there but it seems
 that now we are there)
 3. I was using remote_api without specifying both the host and port of my
 server before. devappserver2.py is pickier. It took Sam and I several
 interaction to nail this issue.
 4. The new server uses different options for log_levels of your code vs
 the dev server code (--*dev_appserver_log_level* vs --*log_level*). This
 is awesome but might be confusing!!
 5. The new server does not seem to pick up application file
 modifications. Please star issue https://code.google.com/**
 p/appengine-devappserver2-**experiment/issues/detail?id=54https://code.google.com/p/appengine-devappserver2-experiment/issues/detail?id=54
 ** if you experience the same issue.

 Best,
 PK
 http://www.gae123.com

  --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.

[google-appengine] Re: New experimental development server for Python

2013-03-11 Thread Brian Quinlan
We have released a new version of the Python development server.
A descendant of this version will be included in the App Engine 1.7.7 SDK
release so any testing or other feedback would be greatly appreciated!

To download the cross-platform package for Python:
https://appengine-devappserver2-experiment.googlecode.com/files/devappserver2-v0.8.zip

New Features:
- Cloud Endpoints (see http://goo.gl/m2GjG)
- Integration points for Python tools (see http://goo.gl/3oSBp)
- Add support for tasks that target backends

Bug fixes:
- Fix the size display in blobstore viewer
- Fix the styling of the Purge button in the taskqueue UI
- Fix orphan runtime processes on shutdown
- Make --log_level=debug display debug-level logging

Cheers,
Brian



On 25 February 2013 16:28, Brian Quinlan bquin...@google.com wrote:

 We have released a new version of the Python development server. This
 version will be included in the App Engine 1.7.6 SDK release so any
 testing or other feedback would be greatly appreciated!

 Aside from a long list of bug fixes, this version adds experimental Go
 support!

 To download the cross-platform package for Python:

 https://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.7.zip

 To download the Linux amd64-only package for Python and Go:

 https://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.7_linux_amd64.zip

 Changes:
 - Fixes testbed support
 - Tests now pass on Windows and Mac OS X
 - Multiple set-cookies headers no longer combined
 - Some minor UI improvements
 - Invalid login cookies are ignored
 - Go runtime support!
 - Use a threadsafe subprocess implementation
 - Fixed Google Cloud SQL support on windows
 - Performance:
   - use mtime checking for config file update checks
   - switch to one thread per async work item
   - set the backlog for WsgiServer sockets to 100

 Thanks for your help!

 Cheers,
 Brian


-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




[google-appengine] Re: New experimental development server for Python

2013-02-24 Thread Brian Quinlan
We have released a new version of the Python development server. This
version will be included in the App Engine 1.7.6 SDK release so any
testing or other feedback would be greatly appreciated!

Aside from a long list of bug fixes, this version adds experimental Go support!

To download the cross-platform package for Python:
https://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.7.zip

To download the Linux amd64-only package for Python and Go:
https://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.7_linux_amd64.zip

Changes:
- Fixes testbed support
- Tests now pass on Windows and Mac OS X
- Multiple set-cookies headers no longer combined
- Some minor UI improvements
- Invalid login cookies are ignored
- Go runtime support!
- Use a threadsafe subprocess implementation
- Fixed Google Cloud SQL support on windows
- Performance:
  - use mtime checking for config file update checks
  - switch to one thread per async work item
  - set the backlog for WsgiServer sockets to 100

Thanks for your help!

Cheers,
Brian

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] Data queries returning with partial data after migration

2013-02-20 Thread Brian Quinlan
Hi Eran,

Non-ancestor queries are eventually consistent. See:
https://developers.google.com/appengine/docs/python/datastore/queries#Data_Consistency

Cheers,
Brian

On Fri, Feb 15, 2013 at 5:50 AM, Eran Schaffer eran.schaf...@gmail.com wrote:
 Hi,
 I finished migrating my DB from m/s to high replication, and while I am
 seeing all the data using  datastore viewer and GQL ,
 when my website's code does a similar query I only get partial results,
 meaning not all entries in the DB get back.

 Did anyone experience something similar?

 FYI, I deployed my app before migration , and the relevant indexes for these
 classes are tagged as Serving

 Thanks, ES

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] markupsafe removed in 1.7.5?

2013-02-13 Thread Brian Quinlan
Hi Thomas,

markupsafe was not removed in 1.7.5. Could you file a bug at:
https://code.google.com/p/googleappengine/issues

Please include your platform and ideally a test application that
demonstrates the problem (or at least an app.yaml file [without the
handlers section])? Also, do you have a copy of markupsafe installed
locally or in the application directory?

Sorry for the trouble!

Cheers,
Brian

On Thu, Feb 14, 2013 at 8:24 AM, Thomas Marban tho...@marban.com wrote:
 I'm getting an [ImportError: No module named markupsafe] Error after the
 1.7.5 upgrade (markupsafe used to be included via app.yaml)

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.
 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] Re: New experimental development server for Python

2013-02-08 Thread Brian Quinlan
On Sat, Feb 9, 2013 at 1:31 AM, Jacob G ja...@fareclock.com wrote:
 Hi Brian,

 This new development server sounds very exciting. I haven't had a chance yet
 to try it, but I look forward to checking out all these great features.

 One question I have is regarding your bullet point Add automatic conversion
 from the datastore file stub to the sqlite stub. Does this feature address
 the conversion failure problem discussed here:

 http://stackoverflow.com/questions/14627143/gae-port-sqlite-fails-on-local-dev-server

I don't understand the reason for that failure so I can't say for
sure. It looks like the discussion is ongoing here:
https://code.google.com/p/googleappengine/issues/detail?id=7717

Cheers,
Brian


 Thanks.

 On Wednesday, February 6, 2013 2:06:03 AM UTC-5, Brian Quinlan wrote:

 We have released a new version of the new Python development server.
 This development server will replace the existing one in the 1.7.6
 release so we'd greatly appreciate any feedback.

 To download:
 https://code.google.com/p/appengine-devappserver2-experiment/downloads/

 Features:
 - Add a blobstore viewer (thanks Alex!)
 - Several UI improvements (thanks Alex)
 - Add protorpc support
 - Add automatic conversion from the datastore file stub to the sqlite
 stub.
 - Add update checking

 Bug fixes:
 - Allow starting background threads from backends handling /_ah/start
 requests.
 - Set DEFAULT_VERSION_HOSTNAME
 - Avoid crashing on empty backends
 - Set environ['SERVER_NAME'] to match environ['HTTP_HOST']
 - Make exception logging more robust
 - Bypass login: required for inbound xmpp requests from the admin UI
 - Stop raising KeyboardInterrupts in async_quit and for SIGTERM and SIGINT
 - Gracefully handle the case where 'headers' or 'response_code' are not
 set
 - Always filter x-appengine-fake-is-admin and x-appengine-fake-logged-in
 headers

 Cheers,
 Brian

 On Mon, Jan 21, 2013 at 3:11 PM, Brian Quinlan bqui...@google.com wrote:
  We have released a new version of the experimental Python development
  server. We think that it is very usable at this point and has some
  significant improvements over the existing version.
 
  To download:
 
  http://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.5.zip
 
  Changes:
  - a functionally complete administrative UI (it is also a lot more
  polished
  but still needs some work)
  - more reliable task execution
  - (experimental) support for local Cloud SQL development
  - lots of bug fixes!
 
  As always, feedback is very welcome!
 
  Cheers,
  Brian
 
 
 
  On Tue, Nov 27, 2012 at 1:14 PM, Brian Quinlan bqui...@google.com
  wrote:
 
  Hi,
 
  I'm happy to announce that the App Engine team is working on a new
  development server for Python (and eventually Go).
 
  The new development server aims to provide higher performance for
  complex applications and better emulation of the App Engine deployment
  environment.
 
  There are several features that are currently missing:
  - support for backends
  - the administrative UI (i.e. _ah/admin)
  - Go
 
  Development is still at an early stage so I'm sure that there are lots
  of bugs to be found and fixed.
 
  Which is why we'd appreciate your help in testing and, if you are
  feeling keen, fixing these issues.
 
  You can download the latest version from:
  http://code.google.com/p/appengine-devappserver2-experiment/downloads/
 
  Or work directly with the git repository:
 
 
  http://code.google.com/p/appengine-devappserver2-experiment/source/checkout
 
  There is also a public discussion group associated with the project:
 
 
  https://groups.google.com/forum/?fromgroups#!forum/appengine-devappserver2-discuss
 
  Thanks for your help!
 
  Cheers,
  Brian - App Engine Python Team
 
 

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to google-appengine+unsubscr...@googlegroups.com.

 To post to this group, send email to google-appengine@googlegroups.com.
 Visit this group at http://groups.google.com/group/google-appengine?hl=en.
 For more options, visit https://groups.google.com/groups/opt_out.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




[google-appengine] Re: New experimental development server for Python

2013-02-05 Thread Brian Quinlan
We have released a new version of the new Python development server.
This development server will replace the existing one in the 1.7.6
release so we'd greatly appreciate any feedback.

To download:
https://code.google.com/p/appengine-devappserver2-experiment/downloads/

Features:
- Add a blobstore viewer (thanks Alex!)
- Several UI improvements (thanks Alex)
- Add protorpc support
- Add automatic conversion from the datastore file stub to the sqlite stub.
- Add update checking

Bug fixes:
- Allow starting background threads from backends handling /_ah/start requests.
- Set DEFAULT_VERSION_HOSTNAME
- Avoid crashing on empty backends
- Set environ['SERVER_NAME'] to match environ['HTTP_HOST']
- Make exception logging more robust
- Bypass login: required for inbound xmpp requests from the admin UI
- Stop raising KeyboardInterrupts in async_quit and for SIGTERM and SIGINT
- Gracefully handle the case where 'headers' or 'response_code' are not set
- Always filter x-appengine-fake-is-admin and x-appengine-fake-logged-in headers

Cheers,
Brian

On Mon, Jan 21, 2013 at 3:11 PM, Brian Quinlan bquin...@google.com wrote:
 We have released a new version of the experimental Python development
 server. We think that it is very usable at this point and has some
 significant improvements over the existing version.

 To download:
 http://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.5.zip

 Changes:
 - a functionally complete administrative UI (it is also a lot more polished
 but still needs some work)
 - more reliable task execution
 - (experimental) support for local Cloud SQL development
 - lots of bug fixes!

 As always, feedback is very welcome!

 Cheers,
 Brian



 On Tue, Nov 27, 2012 at 1:14 PM, Brian Quinlan bquin...@google.com wrote:

 Hi,

 I'm happy to announce that the App Engine team is working on a new
 development server for Python (and eventually Go).

 The new development server aims to provide higher performance for
 complex applications and better emulation of the App Engine deployment
 environment.

 There are several features that are currently missing:
 - support for backends
 - the administrative UI (i.e. _ah/admin)
 - Go

 Development is still at an early stage so I'm sure that there are lots
 of bugs to be found and fixed.

 Which is why we'd appreciate your help in testing and, if you are
 feeling keen, fixing these issues.

 You can download the latest version from:
 http://code.google.com/p/appengine-devappserver2-experiment/downloads/

 Or work directly with the git repository:

 http://code.google.com/p/appengine-devappserver2-experiment/source/checkout

 There is also a public discussion group associated with the project:

 https://groups.google.com/forum/?fromgroups#!forum/appengine-devappserver2-discuss

 Thanks for your help!

 Cheers,
 Brian - App Engine Python Team



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-appengine+unsubscr...@googlegroups.com.
To post to this group, send email to google-appengine@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [google-appengine] Index is still building for master/slave - HRD migration

2013-01-24 Thread Brian Quinlan
Hi Barry,

On Fri, Jan 25, 2013 at 9:20 AM, Barry Hunter barrybhun...@gmail.comwrote:

 The time it takes for the index is not a function of how big your data
 is, but how indexes are sitting in the queue in front of you.

 AppEngine processes index builds sequentically, so have to wait your
 turn. Someone else may well have a really big index that is holding
 things up.


Actually, index builds are now done concurrently. But there is still a lot
of complexity in index construction due to the eventually consistent nature
of datastore queries.

Cheers,
Brian



 On Thu, Jan 24, 2013 at 9:42 PM, Tayeb Karim t...@google.com wrote:
  Hi,
 
  I started the migration a few hours ago and the indexes seem to still be
  building on the new application (ggc-hrd)
 
  Any pointers to see what's up?
 
  The data size is pretty small;
  For the tables that are still being indexed;
CacheNode:  2k entries,  323KB
Maintenance:  42 entries, 6KB
 
  --
  You received this message because you are subscribed to the Google Groups
  Google App Engine group.
  To view this discussion on the web visit
  https://groups.google.com/d/msg/google-appengine/-/-KyKMVJuAJEJ.
  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.

 --
 You received this message because you are subscribed to the Google Groups
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: New experimental development server for Python

2013-01-23 Thread Brian Quinlan
That should work.

Are you creating a background thread on a frontend or a backend instance?

Cheers,
Brian

On Thu, Jan 24, 2013 at 6:38 AM, Jeff Schnitzer j...@infohazard.org wrote:

 BackgroundThreadLimitReachedError


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: New experimental development server for Python

2013-01-23 Thread Brian Quinlan
On Thu, Jan 24, 2013 at 1:41 PM, Jeff Schnitzer j...@infohazard.org wrote:

 It's a resident backend.

 Jeff


Are you sure that  this happens on the first attempt to create a
background thread? If so, then could you could try to find this block
in google/appegine/tools/devappserver2/dispatcher.py:

try:
  inst.reserve_background_thread()
except instance.CannotAcceptRequests:
+logging.exception('Cannot create background thread.'
  raise request_info.BackgroundThreadLimitReachedError()

And see what logging you see?

Cheers,
Brian



 On Wed, Jan 23, 2013 at 3:50 PM, Brian Quinlan bquin...@google.com wrote:
  That should work.
 
  Are you creating a background thread on a frontend or a backend instance?
 
  Cheers,
  Brian
 
  On Thu, Jan 24, 2013 at 6:38 AM, Jeff Schnitzer j...@infohazard.org wrote:
 
  BackgroundThreadLimitReachedError
 
 
 
  --
  You received this message because you are subscribed to the Google Groups
  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.

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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: New experimental development server for Python

2013-01-20 Thread Brian Quinlan
We have released a new version of the experimental Python development
server. We think that it is very usable at this point and has some
significant improvements over the existing version.

To download:
http://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.5.zip

Changes:
- a functionally complete administrative UI (it is also a lot more polished
but still needs some work)
- more reliable task execution
- (experimental) support for local Cloud SQL development
- lots of bug fixes!

As always, feedback is very welcome!

Cheers,
Brian



On Tue, Nov 27, 2012 at 1:14 PM, Brian Quinlan bquin...@google.com wrote:

 Hi,

 I'm happy to announce that the App Engine team is working on a new
 development server for Python (and eventually Go).

 The new development server aims to provide higher performance for
 complex applications and better emulation of the App Engine deployment
 environment.

 There are several features that are currently missing:
 - support for backends
 - the administrative UI (i.e. _ah/admin)
 - Go

 Development is still at an early stage so I'm sure that there are lots
 of bugs to be found and fixed.

 Which is why we'd appreciate your help in testing and, if you are
 feeling keen, fixing these issues.

 You can download the latest version from:
 http://code.google.com/p/appengine-devappserver2-experiment/downloads/

 Or work directly with the git repository:
 http://code.google.com/p/appengine-devappserver2-experiment/source/checkout

 There is also a public discussion group associated with the project:

 https://groups.google.com/forum/?fromgroups#!forum/appengine-devappserver2-discuss

 Thanks for your help!

 Cheers,
 Brian - App Engine Python Team


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Error in importing python matplotlib in GAE

2012-12-28 Thread Brian Quinlan
From the documentation
(https://developers.google.com/appengine/docs/python/tools/libraries27):

Note: The experimental release of matplotlib is not supported on the
development server. You can still add matplotlib to the libraries
list, but it will raise an exception when imported.

Cheers,
Brian

On Sat, Dec 29, 2012 at 7:30 AM, Xin Meng mengxin891...@gmail.com wrote:

 Hi guys,

 I was testing out the new GAE sdk 1.7.4 python version with the matplotlib
 support, and I have encountered the following error:

 WARNING  2012-12-28 20:27:55,009 py_zipimport.py:139] Can't open zipfile
 D:\Python27\lib\site-packages\python_memcached-1.48-py2.7.egg: IOError:
 [Errno 13] file not accessible:
 'D:\\Python27\\lib\\site-packages\\python_memcached-1.48-py2.7.egg'
 WARNING  2012-12-28 20:27:55,025 py_zipimport.py:139] Can't open zipfile
 D:\Python27\lib\site-packages\setuptools-0.6c12dev_r88846-py2.7.egg:
 IOError: [Errno 13] file not accessible:
 'D:\\Python27\\lib\\site-packages\\setuptools-0.6c12dev_r88846-py2.7.egg'
 WARNING  2012-12-28 20:27:55,976 dev_appserver_import_hook.py:557] Blocking
 access to skipped file d:\nus\quality control sms
 system\webapp5\.matplotlibrc
 WARNING  2012-12-28 20:27:55,976 dev_appserver_import_hook.py:557] Blocking
 access to skipped file d:\nus\quality control sms
 system\webapp5\~\.matplotlibrc
 WARNING  2012-12-28 20:27:55,976 dev_appserver_import_hook.py:557] Blocking
 access to skipped file d:\nus\quality control sms
 system\webapp5\~\.matplotlib
 ERROR2012-12-28 20:27:55,976 wsgi.py:219]
 Traceback (most recent call last):
   File E:\Program
 Files\Google\google_appengine\google\appengine\runtime\wsgi.py, line 196,
 in Handle
 handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
   File E:\Program
 Files\Google\google_appengine\google\appengine\runtime\wsgi.py, line 255,
 in _LoadHandler
 handler = __import__(path[0])
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 692, in Decorate
 return func(self, *args, **kwargs)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 1766, in load_module
 return self.FindAndLoadModule(submodule, fullname, search_path)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 692, in Decorate
 return func(self, *args, **kwargs)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 1630, in FindAndLoadModule
 description)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 692, in Decorate
 return func(self, *args, **kwargs)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 1577, in LoadModuleRestricted
 description)
   File D:\NUS\Quality Control SMS System\Webapp5\main.py, line 15, in
 module
 import Qualitics_Logic
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 692, in Decorate
 return func(self, *args, **kwargs)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 1766, in load_module
 return self.FindAndLoadModule(submodule, fullname, search_path)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 692, in Decorate
 return func(self, *args, **kwargs)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 1630, in FindAndLoadModule
 description)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 692, in Decorate
 return func(self, *args, **kwargs)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 1577, in LoadModuleRestricted
 description)
   File D:\NUS\Quality Control SMS System\Webapp5\Qualitics_Logic.py, line
 4, in module
 import matplotlib.mlab as mlab
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 692, in Decorate
 return func(self, *args, **kwargs)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 1766, in load_module
 return self.FindAndLoadModule(submodule, fullname, search_path)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 692, in Decorate
 return func(self, *args, **kwargs)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 1630, in FindAndLoadModule
 description)
   File E:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 692, in Decorate
 return func(self, *args, 

Re: [google-appengine] Re: New experimental development server for Python

2012-12-13 Thread Brian Quinlan
Hi PK,

Thanks for the bug description! We understand the cause (the lack of
the dev~ prefix on app ids) and will fix it soon [1].

Cheers,
Brian

[1] soon may not be that soon due to the holidays :-)

On Wed, Dec 12, 2012 at 5:47 PM, PK p...@gae123.com wrote:
 Great... Thanks!!

 More regression tests pass now but one of them fails with the message below. 
 I am on 1.7.3, all my tests pass with the regular dev server.

 BadRequestError: remote_api supports transactional queries only in the 
 high-replication datastore.

 Is this something consistent with the bugs you already track?

 Thanks,
 PK


 On Dec 11, 2012, at 8:59 PM, Brian Quinlan bquin...@google.com wrote:

 We have released a new version of the development server:

 To download:
 http://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.3.zip

 Changes:
 - threads are implicitly joined on request exit
 - basic taskqueue UI (more later)
 - fixes for virtualenv
 - windows unit test fixes
 - reduced logging noise
 - correct logout url generation

 As always, feedback is welcome!

 Cheers,
 Brian

 On Tue, Nov 27, 2012 at 1:14 PM, Brian Quinlan bquin...@google.com wrote:
 Hi,

 I'm happy to announce that the App Engine team is working on a new
 development server for Python (and eventually Go).

 The new development server aims to provide higher performance for
 complex applications and better emulation of the App Engine deployment
 environment.

 There are several features that are currently missing:
 - support for backends
 - the administrative UI (i.e. _ah/admin)
 - Go

 Development is still at an early stage so I'm sure that there are lots
 of bugs to be found and fixed.

 Which is why we'd appreciate your help in testing and, if you are
 feeling keen, fixing these issues.

 You can download the latest version from:
 http://code.google.com/p/appengine-devappserver2-experiment/downloads/

 Or work directly with the git repository:
 http://code.google.com/p/appengine-devappserver2-experiment/source/checkout

 There is also a public discussion group associated with the project:
 https://groups.google.com/forum/?fromgroups#!forum/appengine-devappserver2-discuss

 Thanks for your help!

 Cheers,
 Brian - App Engine Python Team

 --
 You received this message because you are subscribed to the Google Groups 
 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.


 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] New experimental development server for Python

2012-12-13 Thread Brian Quinlan
On Fri, Dec 14, 2012 at 12:30 PM, PK p...@gae123.com wrote:
 OK Thanks... I filed issue #16 to track it.

Thanks!

 Another test code showstopper, is the following:

 We have some test code that waits until all tasks have executed and only then 
 continues. The way it does this is by scraping the /_ah/admin/queueues page 
 until all the counters are 0. Without admin console this part also fails. I 
 assume you will provide an admin console at some point so this will take care 
 of it.

Could you try adding this to your app.yaml:
- url: /admin_console/.*
  script: $PYTHON_LIB/google/appengine/ext/admin

Cheers,
Brian

 (BTW, this is really old ugly code that will also fail next time the UI 
 changes, it is probably time to start using the QueueStatistics for the same 
 purpose, incidentally it just became fully supported with 1.7.4).


 On Dec 11, 2012, at 10:54 PM, PK p...@gae123.com wrote:

 I looked in more detail the stack trace and hits an issue I had seen before 
 that was fixed when bug 3643 was fixed. The bug was fixed in 1.7.2, I am 
 wondering whether you could have forked some code before that fix went in?

 On Dec 11, 2012, at 10:47 PM, PK p...@gae123.com wrote:

 Great... Thanks!!

 More regression tests pass now but one of them fails with the message 
 below. I am on 1.7.3, all my tests pass with the regular dev server.

 BadRequestError: remote_api supports transactional queries only in the 
 high-replication datastore.

 Is this something consistent with the bugs you already track?

 Thanks,
 PK


 On Dec 11, 2012, at 8:59 PM, Brian Quinlan bquin...@google.com wrote:

 We have released a new version of the development server:

 To download:
 http://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.3.zip

 Changes:
 - threads are implicitly joined on request exit
 - basic taskqueue UI (more later)
 - fixes for virtualenv
 - windows unit test fixes
 - reduced logging noise
 - correct logout url generation

 As always, feedback is welcome!

 Cheers,
 Brian

 On Tue, Nov 27, 2012 at 1:14 PM, Brian Quinlan bquin...@google.com wrote:
 Hi,

 I'm happy to announce that the App Engine team is working on a new
 development server for Python (and eventually Go).

 The new development server aims to provide higher performance for
 complex applications and better emulation of the App Engine deployment
 environment.

 There are several features that are currently missing:
 - support for backends
 - the administrative UI (i.e. _ah/admin)
 - Go

 Development is still at an early stage so I'm sure that there are lots
 of bugs to be found and fixed.

 Which is why we'd appreciate your help in testing and, if you are
 feeling keen, fixing these issues.

 You can download the latest version from:
 http://code.google.com/p/appengine-devappserver2-experiment/downloads/

 Or work directly with the git repository:
 http://code.google.com/p/appengine-devappserver2-experiment/source/checkout

 There is also a public discussion group associated with the project:
 https://groups.google.com/forum/?fromgroups#!forum/appengine-devappserver2-discuss

 Thanks for your help!

 Cheers,
 Brian - App Engine Python Team

 --
 You received this message because you are subscribed to the Google Groups 
 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.




 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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: New experimental development server for Python

2012-12-11 Thread Brian Quinlan
We have released a new version of the development server:

To download:
http://code.google.com/p/appengine-devappserver2-experiment/downloads/detail?name=devappserver2-v0.3.zip

Changes:
- threads are implicitly joined on request exit
- basic taskqueue UI (more later)
- fixes for virtualenv
- windows unit test fixes
- reduced logging noise
- correct logout url generation

As always, feedback is welcome!

Cheers,
Brian

On Tue, Nov 27, 2012 at 1:14 PM, Brian Quinlan bquin...@google.com wrote:
 Hi,

 I'm happy to announce that the App Engine team is working on a new
 development server for Python (and eventually Go).

 The new development server aims to provide higher performance for
 complex applications and better emulation of the App Engine deployment
 environment.

 There are several features that are currently missing:
 - support for backends
 - the administrative UI (i.e. _ah/admin)
 - Go

 Development is still at an early stage so I'm sure that there are lots
 of bugs to be found and fixed.

 Which is why we'd appreciate your help in testing and, if you are
 feeling keen, fixing these issues.

 You can download the latest version from:
 http://code.google.com/p/appengine-devappserver2-experiment/downloads/

 Or work directly with the git repository:
 http://code.google.com/p/appengine-devappserver2-experiment/source/checkout

 There is also a public discussion group associated with the project:
 https://groups.google.com/forum/?fromgroups#!forum/appengine-devappserver2-discuss

 Thanks for your help!

 Cheers,
 Brian - App Engine Python Team

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: My app engine wishlist

2012-11-30 Thread Brian Quinlan
Hi,

On Fri, Nov 30, 2012 at 8:10 PM, Verilocos W verilo...@gmail.com wrote:
 This is really a good wishlist. I also wish many items on that! However, 10,
 11, 12, yeah three years. Santa Claus did not hear us! Is GAE obsoleted?

 On Thursday, October 22, 2009 6:11:28 PM UTC+8, Daniel Florey wrote:

 I'm working with app engine (Java) for quite a while now and as
 Christmas is near, it is time to publish my wishlist:

 Improvements in the admin interface:
 - Logs:
   Right now when scrolling through the pages after a while the
 formatting is gone and the back link is not working any more
   Respect the users timezone. It's very annoying to recalculate the
 timestamps to find log statements
   Delete log to start a fresh log from scratch
   Download logs button right from the admin interface

 - Cron Jobs:
   Let us change the cron settings right from the console. Would be
 great for debugging purposes

What would happen the next time you run appcfg update?


 - Task Qeues:
   Please give us a delete all button to delete all tasks from a
 specific queue

Does the Purge Queue button not do what you want?

   Better paging through the tasks (ordered by ETA etc.)

There is an Order by: Task Name | Task ETA control above the list of
tasks in the queue viewer. Is that not what you want?

 - Indexes:
   Delete index right from the admin interface would be awesome

What would happen the next time you run appcfg update?

 - Data viewer:
   Please show the Key(name or id) in the data grid from the parent
 entity when entity has ancestors
   Delete all button for the whole datastore
   Delete all button for a certain kind of entities
   Improve GQL to query entities by key / parent

You can query by ancestor. See:
https://developers.google.com/appengine/docs/python/datastore/gqlreference

   Editing entities often leads to Internal server error
   Backup/Restore of datastore as .zip right from the admin interface
 (or store backup on some Google servers)

 Improvements in the SDK:
 Don't know if this works with python, but it would be cool to be able
 to delete entities based on a query without fetching all keys and
 deleting by keys (e.g. something like a super-fast DELETE * FROM kind)

 Some more free CPU quota ;-)

 That's it. Let's see what Santa Claus can do for me...

It would be awesome if you could fine issues for these feature requests!

Cheers,
Brian

 Cheers,
 Daniel

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/J-EeTM2r7E0J.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.



[google-appengine] New experimental development server for Python

2012-11-26 Thread Brian Quinlan
Hi,

I'm happy to announce that the App Engine team is working on a new
development server for Python (and eventually Go).

The new development server aims to provide higher performance for
complex applications and better emulation of the App Engine deployment
environment.

There are several features that are currently missing:
- support for backends
- the administrative UI (i.e. _ah/admin)
- Go

Development is still at an early stage so I'm sure that there are lots
of bugs to be found and fixed.

Which is why we'd appreciate your help in testing and, if you are
feeling keen, fixing these issues.

You can download the latest version from:
http://code.google.com/p/appengine-devappserver2-experiment/downloads/

Or work directly with the git repository:
http://code.google.com/p/appengine-devappserver2-experiment/source/checkout

There is also a public discussion group associated with the project:
https://groups.google.com/forum/?fromgroups#!forum/appengine-devappserver2-discuss

Thanks for your help!

Cheers,
Brian - App Engine Python Team

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Dev Server on PyPy

2012-11-26 Thread Brian Quinlan
Hi Michael,

On Tue, Nov 6, 2012 at 3:51 PM, Michael Sander michael.san...@gmail.com wrote:
 I know it's not an officially supported platform, but has anyone tried
 playing around with the App Engine dev server on PyPy? Its JIT should make
 the dev server much faster than when running on cpython.

I'm not sure what performance improvement you are looking for.
Improvements in your application code seem like they would be
deceptive since they disappear in production. Or are you looking for
improved API or general serving performance?

Cheers,
Brian

 With a bit of
 tinkering, I can get it to start up, but I quickly get the following
 exception whenever I try request a page on the dev server:

 File C:\Program Files
 (x86)\Google\google_appengine\google\appengine\tools\dev_appserver_import_hook.py,
 line 1606, in FindModuleRestricted
 raise import_error
 ImportError: Access to module file denied: c:\PyPy19\lib_pypy\_functools.py


 The _functools.py file exists on my machine and is readable.  Any idea why
 it's broken?

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/fIAcI0X-9DIJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: IE/Opera + Dev Server = slow, problematic

2012-11-26 Thread Brian Quinlan
Hi Kaan,

On Fri, Oct 12, 2012 at 6:20 AM, Kaan Soral kaanso...@gmail.com wrote:
 I just had this idea now, If there is any http headers or modifications that
 will prohibit IE/Opera from making async requests we may try those. (Make
 responses HTTP 1.0 etc.) It should be a not so hard modification on maybe
 dev_appserver.py or other files that prepare the response
 Any ideas?

The App Engine team is currently working on a new development server
that has a multi-threaded frontend and supports concurrent requests.

The announcement is here:
https://groups.google.com/d/topic/google-appengine/TCQuJpF44cY/discussion

And you can get the code from the Google Code project:
http://code.google.com/p/appengine-devappserver2-experiment/

Cheers,
Brian



 On Wednesday, October 10, 2012 9:44:33 PM UTC+3, Adam Lofting wrote:

 I've been suffering with the same experience testing App Engine in IE
 running on Windows 7.

 Weirdly it runs fine in IE Tester (all versions), which has been my
 solution for now.



 On Monday, September 24, 2012 2:38:16 AM UTC+2, Kaan Soral wrote:

 I can't use IE or Opera for testing with development server (local).

 For some reason some of the scripts/images don't load. For the ones that
 load, it takes a huge amount of time for them to load compared to
 Firefox/Chrome.
 When you make a request, it takes some time for it to show up on the
 logs. (IE is much much worse than opera)

 Do you have similar experiences?

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/vhwDmScXlKEJ.

 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Tracing the source of datastore reads/writes

2012-10-07 Thread Brian Quinlan
Hi Phil,

Have you looked at Appstats?
https://developers.google.com/appengine/docs/java/tools/appstats

Cheers,
Brians

On Mon, Oct 8, 2012 at 12:42 PM, Phil McDonnell
phil.a.mcdonn...@gmail.com wrote:
 Is there a way to trace where the bulk of datastore reads are coming from in
 appengine? I'm on Java and I've recently noticed that our datastore reads
 are starting to cost a significant amount of money per day. I'd like to
 optimize our code, but I'm not sure where to begin since our app is fairly
 large and complex. Are there any good tools out there associate with
 AppEngine to help with this?

 Thanks,
 Phil

 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Unit testing with webtest problem

2012-09-11 Thread Brian Quinlan
On Tue, Sep 11, 2012 at 4:00 PM, Richard Arrano rickarr...@gmail.com wrote:
 What I'm asking more specifically is what does App Engine do, if anything,
 to os.putenv? Because using the App Engine console, I can do things like:

 os.environ[x] = ndb.Model()

 and access it with os.environ[x] without a problem. However, when I pull
 up the interpreter outside of Python and attempt to put anything other than
 a string into os.environ, it will balk:

 import os
 import os
 os.environ[abc] = {}
 Traceback (most recent call last):
   File stdin, line 1, in module

   File C:\Python27\lib\os.py, line 420, in __setitem__
 putenv(key, item)
 TypeError: must be string, not dict


 So it seems like App Engine does something to the putenv call where it
 serializes model instances into strings first, and if that's the case must
 also do a similar operation to os.getenv to deserialize them. What is App
 Engine doing, if anything to the getenv/putenv calls?

Modifying os.environ in App Engine doesn't actually result in
getenv/putenv calls. You can see the class used here:
http://googleappengine.googlecode.com/svn/trunk/python/google/appengine/runtime/request_environment.py

Please file a bug if the incompatibility between regular Python and
App Engine os.environ is causing you problems:
http://code.google.com/p/googleappengine/issues/list

Cheers,
Brian


 Thanks,
 Richard

 On Tuesday, September 11, 2012 6:09:16 AM UTC-7, Guido van Rossum wrote:

 You'll probably get more help from StackOverflow.com. You'll need to
 provide more info, nobody can help you debug this with just that traceback
 information unless they're psychic.

 On Sunday, September 9, 2012 10:06:33 AM UTC-7, Richard Arrano wrote:

 Hello,
 I've been using webtest to unit test my application and I've encountered
 a strange issue. I wrap many of my get/post handlers in decorators and in
 some of those decorators, I put ndb.Model instances in os.environ for later
 use in the subsequent handler. This works on my local dev server and in
 production. However, when I run nosetests it always gives me an error:

 os.environ[user] = user
 File C:\Python27\lib\os.py, line 420, in __setitem__
 putenv(key, item)
 TypeError: must be string, not User

 Any ideas on how to mitigate this so my tests won't error out at this
 point?

 Thanks,
 Richard

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/er6JJQK-EJoJ.

 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Not able to vacuum indexes for my application

2012-08-21 Thread Brian Quinlan
On Tue, Aug 21, 2012 at 8:11 AM, prakhil samar prakhilsa...@gmail.com wrote:
 Actually i do not get an option to press Y/N/A;

 As soon as i run the command it directly gives me error, that i listed in
 the image

You are redirecting stdin to the file ...\pwd. Since that file only
contains your password, appcfg.py generates an EOFError when trying to
read your answer to the confirmation prompts.

Try running appcfg.py without --passin.

Cheers,
Brian

 On Tuesday, August 21, 2012 5:33:36 PM UTC+5:30, Takashi Matsuo (Google)
 wrote:

 Are you sure that you pushed 'y' then 'return' key when prompted 'Are you
 sure you want to delete this index? N/y/a'?


 On Tue, Aug 21, 2012 at 7:53 PM, prakhil samar prakhi...@gmail.com
 wrote:

 Anyone with a solution???


 On Tuesday, August 21, 2012 12:40:38 PM UTC+5:30, prakhil samar wrote:

 Hi GAE team,

 I m not able to Vacuum indexes for my application.

 I ran this command:

 appcfg.py vacuum_indexes path

 I have attached the command prompt image too

 Please suggest how to delete the unused indexes ?

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/85PEVKSApkIJ.

 To post to this group, send email to google-a...@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengi...@googlegroups.com.

 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.




 --
 Takashi Matsuo | Developers Advocate | tma...@google.com

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/uCJIlGozQrsJ.

 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Problem with ctypes

2012-07-24 Thread Brian Quinlan
Hi Yuval,

Take a look at this link:
https://developers.google.com/appengine/kb/libraries

Cheers,
Brian

On Mon, Jul 23, 2012 at 3:11 AM, Yuval Kalev yuvalka...@gmail.com wrote:
 I seem to be having problems with importing ctypes to use for an MGRS module
 I want to load.
 I keep getting this error:

 ImportError: No module named _ctypes


 Reading posts I read that version 2.7.1-2 might have fixed this issue. Still
 I cannot get it to work.

 Any ideas?


 Thanks,

 - Yuval

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/S7pu8and_AEJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] how to get all entities of one Model for ndb?

2012-06-21 Thread Brian Quinlan
db.Model.query()

On Thu, Jun 21, 2012 at 2:52 AM, saintthor saintt...@gmail.com wrote:

 as db.Model.all() does.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/aPHU2eqM_3AJ.
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Simple cron job in google app engine (python)

2012-06-08 Thread Brian Quinlan
On Fri, Jun 8, 2012 at 6:35 PM, afroze 08beeabaqap...@seecs.edu.pk wrote:
 I need help in implementing a simple cron job in GAE (python).

 According to what I understood from appengine documentation, I made a file
 cron.yaml in the application root directory with the following content:

 cron:
 - description: blah blah
   url: /crontask
   schedule: every 1 minute

 And my app.yaml file has the following content:

 application: template-123
 version: 1
 runtime: python27
 api_version: 1
 threadsafe: true

 handlers:
 - url: /.*
   script: template-123.app

Do you have a file called template-123.py? template-123 is not a
valid Python module name so that script will not be importable.

Cheers,
Brian


 I made all my application code (cron and other parts) into a single file
 template-123.py. In the code I implement cron in the following way:

 class CronTask(Handler):

     def  post(self):
         i=25
         number = Birthday(day = i)
         number.put()

 And I tell the code to use this class for cron by stating: ('/crontask',
 CronTask).

 However no new entries are uploaded to the datastore (as I believe they
 should be). And I know that it isn't a problem with the way I'm accessing
 the data store because when I try to do the same thing manually (upload
 entries to the data store in my non-cron part of application) it returns
 with appropriate results.

 So I need some guidance as to what might I be doing wrong or missing? Do
 have to make some more changes to the yaml files or add some other libraries
 or files (i think i read somewhere about cron.xml file but it wasn't
 mentioned in the documentation..) etc?

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/VFd3h57Uk6gJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Is it possible to use multiprocessing Pool in Python 2.7 on App Engine?

2012-05-27 Thread Brian Quinlan
Have you considered using concurrent.futures:
http://pypi.python.org/pypi/futures ?



Cheers,
Brian

On Sun, May 27, 2012 at 5:47 PM, Luca de Alfaro
luca.de.alf...@gmail.com wrote:
 I have some processing that would benefit from parallelism -- the
 multiprocessing Pool class would be ideal.
 Is it available in App Engine?  The Mapping API does not work for my
 purpose, since it is in-memory processing that I am trying to do.
 Thanks!

 Luca

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/yzxvmQQyWAIJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Is it possible to use multiprocessing Pool in Python 2.7 on App Engine?

2012-05-27 Thread Brian Quinlan
On Mon, May 28, 2012 at 2:08 AM, Luca de Alfaro
luca.de.alf...@gmail.com wrote:
 No, and that would be perfect... is that supported on AppEngine?

The ThreadPool functionality will work fine but you might have to
remove the multiprocessing imports.

 And btw, how do I find out about which packages are supported?

There is no list of packages supported on App Engine - you have to
look into the ones that you want to use.

 I did not
 know that some futures packages from pypi could by supported.  I ask because
 there are a few more packages (scipy, for instance) that I really wish would
 be supported...

Many (possibly most) packages from pypi are supported. But packages
won't work if:
- they have C/C++/FORTRAN components (scipy has these)
- they require features that App Engine doesn't support such as a
writeable filesystem

Cheers,
Brian


 Luca

 On Sunday, May 27, 2012 2:39:18 AM UTC-7, Brian Quinlan wrote:

 Have you considered using concurrent.futures:
 http://pypi.python.org/pypi/futures ?



 Cheers,
 Brian

 On Sun, May 27, 2012 at 5:47 PM, Luca de Alfaro
 luca.de.alf...@gmail.com wrote:
  I have some processing that would benefit from parallelism -- the
  multiprocessing Pool class would be ideal.
  Is it available in App Engine?  The Mapping API does not work for my
  purpose, since it is in-memory processing that I am trying to do.
  Thanks!
 
  Luca
 
  --
  You received this message because you are subscribed to the Google
  Groups
  Google App Engine group.
  To view this discussion on the web visit
  https://groups.google.com/d/msg/google-appengine/-/yzxvmQQyWAIJ.
  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.


 On Sunday, May 27, 2012 2:39:18 AM UTC-7, Brian Quinlan wrote:

 Have you considered using concurrent.futures:
 http://pypi.python.org/pypi/futures ?



 Cheers,
 Brian

 On Sun, May 27, 2012 at 5:47 PM, Luca de Alfaro
 luca.de.alf...@gmail.com wrote:
  I have some processing that would benefit from parallelism -- the
  multiprocessing Pool class would be ideal.
  Is it available in App Engine?  The Mapping API does not work for my
  purpose, since it is in-memory processing that I am trying to do.
  Thanks!
 
  Luca
 
  --
  You received this message because you are subscribed to the Google
  Groups
  Google App Engine group.
  To view this discussion on the web visit
  https://groups.google.com/d/msg/google-appengine/-/yzxvmQQyWAIJ.
  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.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/HNyRzPrDYQUJ.

 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Feedback on experimental Mac Launcher for Python

2012-05-17 Thread Brian Quinlan
Hi Alex,

Thanks very much for the feedback!

On Thu, May 17, 2012 at 4:54 PM, alex a...@cloudware.it wrote:
 Hey Brian,

 I did try the Mac OS version a couple times. The idea is nice. Not only
 because of to reduce the number of deps. I think it's good to have dev
 appserver running in a clean, separate environment, closer to how it works
 in production (e.g. I sometimes mess up my python 2.7 and site packages,
 making them do weird stuff, experimenting).

 The reason I'm not using it daily (both with and w/o bundled python) is that
 I'd have it frozen (the Launcher app) so I had to forse quit it from
 Activity Monitor. And it happens too often so, at the end of the day I find
 myself using SDK *.py scripts directly from the Terminal (which I don't mind
 actually).

 Unfortunately, I can't really provide some deterministic steps to reproduce
 freezing right now. But, I noticed it almost always happend when I click
 stop (to stop the dev appserver).

Did this problem occur with the regular launcher or just the experimental one?

Cheers,
Brian


 -- alex


 On Thursday, May 17, 2012 6:59:19 AM UTC+2, Brian Quinlan wrote:

 Hi,

 Along with the usual components of the App Engine 1.6.5 release, we
 also released an experimental version of the Mac OS X Launcher that
 includes a siloed version of Python 2.7 (see
 https://developers.google.com/appengine/downloads). Our reason for
 providing this was to reduce the number of dependencies that Mac users
 needed to download before they have a usable SDK.

 This experimental launcher was downloaded 500 times but we haven't
 received any feedback about it. Could anyone who downloaded and try it
 please respond to this thread saying whether they had any problems or
 not?

 The more feedback we get, the better our release will be and your help
 is really appreciated!

 Cheers,
 Brian

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/bG6kFyDQ_cIJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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] Feedback on experimental Mac Launcher for Python

2012-05-16 Thread Brian Quinlan
Hi,

Along with the usual components of the App Engine 1.6.5 release, we
also released an experimental version of the Mac OS X Launcher that
includes a siloed version of Python 2.7 (see
https://developers.google.com/appengine/downloads). Our reason for
providing this was to reduce the number of dependencies that Mac users
needed to download before they have a usable SDK.

This experimental launcher was downloaded 500 times but we haven't
received any feedback about it. Could anyone who downloaded and try it
please respond to this thread saying whether they had any problems or
not?

The more feedback we get, the better our release will be and your help
is really appreciated!

Cheers,
Brian

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: tree = lxml.html.parse(url) Server Error

2012-05-13 Thread Brian Quinlan
On Mon, May 14, 2012 at 12:59 PM, Bassam Aoun bassam.a...@gmail.com wrote:
 thanks for the reply.

 the app.yaml already has the following:

 libraries:

 - name: jinja2
   version: latest

 - name: lxml
   version: 2.3


 The imports are working fine, my the line  tree = lxml.html.parse(url)   is
 causing a Server Error when the application is deployed on  GAE although it
 works on the SDK. The webpage prints:

 Error: Server Error

 The server encountered an error and could not complete your request.


 any idea?

Have you looked at the logs for your application?

Cheers,
Brian


 On Sunday, May 13, 2012 3:42:03 PM UTC-6, Dmitry Chusovitin wrote:

 lxml only availailable on Python 2.7. You must change your app.yml file.

 See https://developers.google.com/appengine/docs/python/python27/using27?hl=ru-RU#Configuring_Libraries

 add this code:

 libraries:
 - name: lxml
   version: 2.3

 воскресенье, 13 мая 2012 г., 22:49:09 UTC+4 пользователь Bassam Aoun
 написал:


 Hello,

 My application work fine on the GAE and the SDK. However, when I include
 the line
     tree = lxml.html.parse(url)

 I get SERVER ERROR when I deploy my application to GAE. It works fine
 however in the SDK on my desktop.

 All those imports work fine on both the GAW and the SDK.

 import lxml
 from lxml import html
 import lxml.html

 but,   tree = lxml.html.parse(url)      gives me SERVER ERROR on GAE.

 I appreciate any help  or suggestion.

 Thanks in advance.

 application address
 is http://hps109.appspot.com/?ticker=BIDUmanager=Blue

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/aYc1qZR0_IEJ.

 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Acquire Thread Lock takes 50% of response time

2012-04-23 Thread Brian Quinlan
Hi Austin,

Could you include all of the profile results?

Cheers,
Brian

On Mon, Apr 23, 2012 at 3:45 AM, Austin austin.h@gmail.com wrote:
 Hi,

 I'm using python27 on GAE, and with threadsafe either false or true,
 {method 'acquire' of 'thread.lock' objects} takes up to 50% of my
 response time. Obviously 40s is too long for a web app so I'm trying
 to cut it down, and this acquiring of thread locks is the biggest
 culprit according to cProfile. (The 1.6M function calls also seems
 high but I can't find where they're coming from either...)

 Any thoughts you can provide on what I might be doing wrong is
 appreciated. I also wonder if it is related to some of the Python 2.7
 performance issues at the end of last year (that I thought were
 resolved):
 * https://code.google.com/p/googleappengine/issues/detail?id=6323
 * 
 http://stackoverflow.com/questions/8341112/appengine-performance-degradation-with-python27
 * 
 https://groups.google.com/forum/?fromgroups#!topic/google-appengine/jMah6aWfZWg

 cProfile Output:

 Profile data:
         1662549 function calls (1652247 primitive calls) in 39.545
 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall
 filename:lineno(function)
 [lines removed]
    10816   19.245    0.002   19.245    0.002 {method 'acquire' of
 'thread.lock' objects}
 [lines removed]

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: How to filter images on GAE?

2012-04-19 Thread Brian Quinlan
Hi,

On Fri, Apr 20, 2012 at 12:30 AM, Computer_Engineer groupd...@gmail.com wrote:
 Please i want to ask how can i test the application locally before uploading
 it to GAE,how can i solve the PIL problem on localhost?and if i want to
 filter images using PIL i will open it  firstly,so my code initially let the
 user to upload his photo then i store this image in blobstorem and get the
 url of this image top open it,but this didn't solve the problem;that i can't
 open it?

You might be better to ask search for the answer to these questions at
http://stackoverflow.com/ and, if you can't find one, to ask a new
one. The tag that you should use is google-app-engine.

Cheers,
Brian


 On Tuesday, April 17, 2012 5:11:44 PM UTC+3, Computer_Engineer wrote:

 I'm working on python google app engine application,i'm using python2.5, i
 want to deal with images on GAE(filter images), initially i tried wit PIL
 library and i installed it successfully and i tested it and it works
 correctly on my computer,but when i test it on localhost(run on GAE), i have
 an error thatNotImplementedError: Unable to find the Python PIL library,then
 i tried to deal with images using Images Python API , as in this
 tutorial:https://developers.google.com/appengine/docs/python/images/overview,
 and i tested resizing images service,and it works correctly,but the main
 application that i want is to filter the images,the question is :if this
 service(image filtering) supported in Images Python API in GAE?and if not
 how can i filter images on GAE?i saw that this service available in PIL,but
 this library is not supported by GAE
 I tried as a second choice to use python2.7 such that it supports PIL
 library and i edited the app.yaml configuration file,but i don't know how to
 use this library in the python page(main.py)?
 app.yaml:
 application: app_id
 version: 1
 runtime: python27
 api_version: 1
 threadsafe: false
 handlers:
 - url: /.*
   script: main.py
 libraries:
 - name: PIL
   version: 1.1.7

 ...any suggestions are welcome...Thanks

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/W3-vzVSeq94J.

 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: How to filter images on GAE?

2012-04-18 Thread Brian Quinlan
Hi,

On Thu, Apr 19, 2012 at 2:53 AM, Computer_Engineer groupd...@gmail.com wrote:
 Robert Kluin:
 I firstly run my code on localhost to check errors.then i upload it to GAE,i
 use eclipse for working on python with GAE in windows, i installed
 python2.7
 and PIL version 1.1.7,then i edited the app.yaml,but the problem
 still,please i want a solution for this problem as soon as possible.
 Thank you..

In this case, could you try what Robert suggested and just upload your
application without running it locally to see if the problem is with
your code or with your local development environment?

If it works on the production system but not locally then you try
starting a Python shell and typing import Image. If that doesn't
work then your PIL installation is not correct.

Cheers,
Brian


 On Tuesday, April 17, 2012 5:11:44 PM UTC+3, Computer_Engineer wrote:

 I'm working on python google app engine application,i'm using python2.5, i
 want to deal with images on GAE(filter images), initially i tried wit PIL
 library and i installed it successfully and i tested it and it works
 correctly on my computer,but when i test it on localhost(run on GAE), i have
 an error thatNotImplementedError: Unable to find the Python PIL library,then
 i tried to deal with images using Images Python API , as in this
 tutorial:https://developers.google.com/appengine/docs/python/images/overview,
 and i tested resizing images service,and it works correctly,but the main
 application that i want is to filter the images,the question is :if this
 service(image filtering) supported in Images Python API in GAE?and if not
 how can i filter images on GAE?i saw that this service available in PIL,but
 this library is not supported by GAE
 I tried as a second choice to use python2.7 such that it supports PIL
 library and i edited the app.yaml configuration file,but i don't know how to
 use this library in the python page(main.py)?
 app.yaml:
 application: app_id
 version: 1
 runtime: python27
 api_version: 1
 threadsafe: false
 handlers:
 - url: /.*
   script: main.py
 libraries:
 - name: PIL
   version: 1.1.7

 ...any suggestions are welcome...Thanks

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/tmkdHRDGqAYJ.

 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: How to filter images on GAE?

2012-04-18 Thread Brian Quinlan
Could you send the complete traceback?

Cheers,
Brian

On Thu, Apr 19, 2012 at 5:56 AM, Computer_Engineer groupd...@gmail.com wrote:
 Brian Quinlan: i tried to upload it into my application on GAE, the error
 still???what can i do?


 On Tuesday, April 17, 2012 5:11:44 PM UTC+3, Computer_Engineer wrote:

 I'm working on python google app engine application,i'm using python2.5, i
 want to deal with images on GAE(filter images), initially i tried wit PIL
 library and i installed it successfully and i tested it and it works
 correctly on my computer,but when i test it on localhost(run on GAE), i have
 an error thatNotImplementedError: Unable to find the Python PIL library,then
 i tried to deal with images using Images Python API , as in this
 tutorial:https://developers.google.com/appengine/docs/python/images/overview,
 and i tested resizing images service,and it works correctly,but the main
 application that i want is to filter the images,the question is :if this
 service(image filtering) supported in Images Python API in GAE?and if not
 how can i filter images on GAE?i saw that this service available in PIL,but
 this library is not supported by GAE
 I tried as a second choice to use python2.7 such that it supports PIL
 library and i edited the app.yaml configuration file,but i don't know how to
 use this library in the python page(main.py)?
 app.yaml:
 application: app_id
 version: 1
 runtime: python27
 api_version: 1
 threadsafe: false
 handlers:
 - url: /.*
   script: main.py
 libraries:
 - name: PIL
   version: 1.1.7

 ...any suggestions are welcome...Thanks

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/Gy6_kxeqsY0J.

 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: How to filter images on GAE?

2012-04-18 Thread Brian Quinlan
Hi,

On Thu, Apr 19, 2012 at 7:12 AM, Computer_Engineer groupd...@gmail.com wrote:

 I provided my app.yaml in the question,and this is the trace:
 INFO     2012-04-18 21:08:25,615 appengine_rpc.py:159] Server:
 appengine.google.com
 INFO     2012-04-18 21:08:25,904 rdbms_sqlite.py:58] Connecting to SQLite
 database '' with file
 'c:\\users\\me\\appdata\\local\\temp\\dev_appserver.rdbms'
 INFO     2012-04-18 21:08:26,200 dev_appserver_multiprocess.py:637] Running
 application compressanddecompress on port 8080: http://localhost:8080
 ERROR    2012-04-18 21:09:16,936 dev_appserver.py:4096] Exception
 encountered handling request
 Traceback (most recent call last):
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 4039, in _HandleRequest
     self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 3945, in _Dispatch
     base_env_dict=env_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 605, in Dispatch
     base_env_dict=base_env_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 3015, in Dispatch
     self._module_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 2925, in ExecuteCGI
     reset_modules = exec_script(handler_path, cgi_path, hook)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 2785, in ExecuteOrImportScript
     exec module_code in script_module.__dict__
   File C:\Users\me\workspace\img_filter\helloworld.py, line 1, in module
     from PIL import Image
 ImportError: No module named PIL

Could you send the stack trace from production, not from your
development server?

Cheers,
Brian

 INFO     2012-04-18 21:09:16,938 dev_appserver.py:4143] GET / HTTP/1.1 500
 -
 ERROR    2012-04-18 21:09:17,328 dev_appserver.py:4096] Exception
 encountered handling request
 Traceback (most recent call last):
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 4039, in _HandleRequest
     self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 3945, in _Dispatch
     base_env_dict=env_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 605, in Dispatch
     base_env_dict=base_env_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 3015, in Dispatch
     self._module_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 2925, in ExecuteCGI
     reset_modules = exec_script(handler_path, cgi_path, hook)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 2785, in ExecuteOrImportScript
     exec module_code in script_module.__dict__
   File C:\Users\me\workspace\img_filter\helloworld.py, line 1, in module
     from PIL import Image
 ImportError: No module named PIL
 INFO     2012-04-18 21:09:17,328 dev_appserver.py:4143] GET /favicon.ico
 HTTP/1.1 500 -
 ERROR    2012-04-18 21:09:37,575 dev_appserver.py:4096] Exception
 encountered handling request
 Traceback (most recent call last):
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 4039, in _HandleRequest
     self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 3945, in _Dispatch
     base_env_dict=env_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 605, in Dispatch
     base_env_dict=base_env_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 3015, in Dispatch
     self._module_dict)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 2925, in ExecuteCGI
     reset_modules = exec_script(handler_path, cgi_path, hook)
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 2785, in ExecuteOrImportScript
     exec module_code in script_module.__dict__
   File C:\Users\me\workspace\img_filter\helloworld.py, line 1, in module
     from PIL import Image
 ImportError: No module named PIL
 INFO     2012-04-18 21:09:37,576 dev_appserver.py:4143] GET / HTTP/1.1 500
 -
 ERROR    2012-04-18 21:09:37,904 dev_appserver.py:4096] Exception
 encountered handling request
 Traceback (most recent call last):
   File C:\Program
 Files\Google\google_appengine\google\appengine\tools\dev_appserver.py, line
 4039, in _HandleRequest
     self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
   File C:\Program
 

Re: [google-appengine] Re: How to filter images on GAE?

2012-04-18 Thread Brian Quinlan
On Thu, Apr 19, 2012 at 7:27 AM, Computer_Engineer groupd...@gmail.com wrote:
 Sorry,but how can i get the log file from the product?

Go to the administration console (http://appengine.google.com), select
your application and then click Logs.

Cheers,
Brian



 On Tuesday, April 17, 2012 5:11:44 PM UTC+3, Computer_Engineer wrote:

 I'm working on python google app engine application,i'm using python2.5, i
 want to deal with images on GAE(filter images), initially i tried wit PIL
 library and i installed it successfully and i tested it and it works
 correctly on my computer,but when i test it on localhost(run on GAE), i have
 an error thatNotImplementedError: Unable to find the Python PIL library,then
 i tried to deal with images using Images Python API , as in this
 tutorial:https://developers.google.com/appengine/docs/python/images/overview,
 and i tested resizing images service,and it works correctly,but the main
 application that i want is to filter the images,the question is :if this
 service(image filtering) supported in Images Python API in GAE?and if not
 how can i filter images on GAE?i saw that this service available in PIL,but
 this library is not supported by GAE
 I tried as a second choice to use python2.7 such that it supports PIL
 library and i edited the app.yaml configuration file,but i don't know how to
 use this library in the python page(main.py)?
 app.yaml:
 application: app_id
 version: 1
 runtime: python27
 api_version: 1
 threadsafe: false
 handlers:
 - url: /.*
   script: main.py
 libraries:
 - name: PIL
   version: 1.1.7

 ...any suggestions are welcome...Thanks

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/CcIwSJCCDXEJ.

 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: How to filter images on GAE?

2012-04-18 Thread Brian Quinlan
Hi Andreas,

On Thu, Apr 19, 2012 at 7:41 AM, Andreas a.schmi...@gmail.com wrote:
 you are trying to open a file. you can't do that. you dont have any access
 to the filesystem on gae.

That is not true - you have access to a read-only file system
containing all of the files in the directory that you uploaded with
appcfg.py update (and don't appear in a static handler in your
app.yaml, doesn't match skip_files, etc.). The reason that this fails
is because the file is being opened for *write*, which is not
supported.

Cheers,
Brian

 On Apr 18, 2012, at 5:38 PM, Computer_Engineer wrote:

 This is the log from the admin console log:

 2012-04-18 14:37:10.162 /favicon.ico 500 666ms 0kb Mozilla/5.0 (Windows; U;
 Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko)
 Chrome/9.0.597.67 Safari/534.13

 86.108.69.231 - - [18/Apr/2012:14:37:10 -0700] GET /favicon.ico HTTP/1.1
 500 0 - Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13
 (KHTML, like Gecko) Chrome/9.0.597.67 Safari/534.13
 filterimages2012.appspot.com ms=667 cpu_ms=350 api_cpu_ms=0
 cpm_usd=0.009764 instance=00c61b117c8fe6c4727b8c723b40c98b47e0df7f

 E2012-04-18 14:37:10.033

 Traceback (most recent call last):
   File
 /base/data/home/apps/s~filterimages2012/1.358303610596814412/helloworld.py,
 line 7, in module
 out.save(2.jpg)
   File
 /base/python27_runtime/python27_lib/versions/third_party/PIL-1.1.7/PIL/Image.py,
 line 1433, in save
 fp = __builtin__.open(fp, wb)
 IOError: [Errno 13] Permission denied: '2.jpg'

 2012-04-18 14:37:09.075 / 500 957ms 0kb Mozilla/5.0 (Windows; U; Windows NT
 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.67
 Safari/534.13

 86.108.69.231 - - [18/Apr/2012:14:37:09 -0700] GET / HTTP/1.1 500 0 -
 Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML,
 like Gecko) Chrome/9.0.597.67 Safari/534.13 filterimages2012.appspot.com
 ms=958 cpu_ms=467 api_cpu_ms=0 cpm_usd=0.013012 loading_request=1
 instance=00c61b117c8fe6c4727b8c723b40c98b47e0df7f

 E2012-04-18 14:37:09.071

 Traceback (most recent call last):
   File
 /base/data/home/apps/s~filterimages2012/1.358303610596814412/helloworld.py,
 line 7, in module
 out.save(2.jpg)
   File
 /base/python27_runtime/python27_lib/versions/third_party/PIL-1.1.7/PIL/Image.py,
 line 1433, in save
 fp = __builtin__.open(fp, wb)
 IOError: [Errno 13] Permission denied: '2.jpg'

 I2012-04-18 14:37:09.074

 This request caused a new process to be started for your application, and
 thus caused your application code to be loaded for the first time. This
 request may thus take longer and use more CPU than a typical request for
 your application.


 On Tuesday, April 17, 2012 5:11:44 PM UTC+3, Computer_Engineer wrote:

 I'm working on python google app engine application,i'm using python2.5, i
 want to deal with images on GAE(filter images), initially i tried wit PIL
 library and i installed it successfully and i tested it and it works
 correctly on my computer,but when i test it on localhost(run on GAE), i have
 an error thatNotImplementedError: Unable to find the Python PIL library,then
 i tried to deal with images using Images Python API , as in this
 tutorial:https://developers.google.com/appengine/docs/python/images/overview,
 and i tested resizing images service,and it works correctly,but the main
 application that i want is to filter the images,the question is :if this
 service(image filtering) supported in Images Python API in GAE?and if not
 how can i filter images on GAE?i saw that this service available in PIL,but
 this library is not supported by GAE
 I tried as a second choice to use python2.7 such that it supports PIL
 library and i edited the app.yaml configuration file,but i don't know how to
 use this library in the python page(main.py)?
 app.yaml:
 application: app_id
 version: 1
 runtime: python27
 api_version: 1
 threadsafe: false
 handlers:
 - url: /.*
   script: main.py
 libraries:
 - name: PIL
   version: 1.1.7

 ...any suggestions are welcome...Thanks


 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/Rk9EAnJyPIEJ.
 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post 

Re: [google-appengine] How to filter images on GAE?

2012-04-17 Thread Brian Quinlan
Hi,

I'm going to address the Python 2.7 case since that is the best choice
for this problem.

On Wed, Apr 18, 2012 at 12:11 AM, Computer_Engineer groupd...@gmail.com wrote:
 I'm working on python google app engine application,i'm using python2.5, i
 want to deal with images on GAE(filter images), initially i tried wit PIL
 library and i installed it successfully and i tested it and it works
 correctly on my computer,but when i test it on localhost(run on GAE), i have
 an error thatNotImplementedError: Unable to find the Python PIL library,then
 i tried to deal with images using Images Python API , as in this
 tutorial:https://developers.google.com/appengine/docs/python/images/overview,
 and i tested resizing images service,and it works correctly,but the main
 application that i want is to filter the images,the question is :if this
 service(image filtering) supported in Images Python API in GAE?and if not
 how can i filter images on GAE?i saw that this service available in PIL,but
 this library is not supported by GAE
 I tried as a second choice to use python2.7 such that it supports PIL
 library and i edited the app.yaml configuration file,but i don't know how to
 use this library in the python page(main.py)?
 app.yaml:
 application: app_id
 version: 1
 runtime: python27
 api_version: 1
 threadsafe: false
 handlers:
 - url: /.*
   script: main.py
 libraries:
 - name: PIL
   version: 1.1.7

 ...any suggestions are welcome...Thanks

You use PIL from main.py just like you would use PIL from any Python
script e.g.

import Image
i = Image.open(...)

In order to use Python 2.7 with the dev_appserver, you'll have to
install Python 2.7 and PIL on your computer.

Cheers,
Brian


 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/g48i1VaP0IUJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Datastore Indexes - Building

2012-04-15 Thread Brian Quinlan
Hi SM Bhaskar,

On Sun, Apr 15, 2012 at 6:05 AM, SM Bhaskar sm.bhas...@gmail.com wrote:
 Hi,

  My Datastore Indexes shows a status of Building for a few hours
 now...Can you error it out as mentioned in
  http://groups.google.com/group/google-appengine-python/browse_thread/thread/ee8d1eb862bb0e63?pli=1

  Also, how do i run vacuum_indexes command ..
  My application id is: smbaskam

Sorry about this - I'm not sure how your index got into this state. I
restarted the index build and it is complete now.

In the future, would you mind filing a bug there so this kind of issue
doesn't slip through the cracks?
http://code.google.com/p/googleappengine/issues

Sorry again for the trouble!

Cheers,
Brian

 rgds,
 SM Bhaskar

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] How can I disable load balancing function in google app engine

2012-04-15 Thread Brian Quinlan
Hi,

On Sun, Apr 15, 2012 at 6:59 PM, 石奇偲 shiqi...@gmail.com wrote:
 I find that even when I request a same url(using HttpURLConnection class in
 java) in a short time by google app engine, my google app engine's ip is not
 the same.
 It doesn't matter in most times,but my app simulates a logging user to a
 third-party web.I use cookie to maintain the log-in status of the third
 web.But when my IP is changing ,the cookies are not work again .

 The app runs well when I debug from local,because my local ip don't change.
 So,is there any mathod that fixed the IP address google app engine used?

No, using a fixed IP for urlfetch is not supported. But I'm not sure
why a changing IP address would cause problems with cookies.

Cheers,
Brian


 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/29GHxd9f_cUJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Happy birthday?

2012-04-15 Thread Brian Quinlan
We did cake :-)
https://plus.google.com/111039891542127786416/posts/hN4PMZ4QqmU

Cheers,
Brian

On Sun, Apr 15, 2012 at 3:48 AM, alex a...@cloudware.it wrote:
 I meant to post this a few days back.

 Correct me if I'm wrong but April 8th or 11th is the day App Engine was 
 announced as a limited preview.

 If it is correct, well here it is: happy birthday app engine!

 alex.

 --
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To view this discussion on the web visit 
 https://groups.google.com/d/msg/google-appengine/-/DZmq8ZLjg1YJ.
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] help migrating from python2.5 to python2.7

2012-04-06 Thread Brian Quinlan
Hi,

On Fri, Apr 6, 2012 at 11:28 PM, Kwame iweg...@gmail.com wrote:
 I'm trying to migrate my app to python2.7 and so far it's been a nightmare!
 My latest issue is that I'm getting this error:

 Traceback (most recent call last):
   File
 /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2/webapp2.py,
 line 1536, in __call__
 rv = self.handle_exception(request, response, e)
   File
 /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2/webapp2.py,
 line 1530, in __call__
 rv = self.router.dispatch(request, response)
   File
 /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2/webapp2.py,
 line 1278, in default_dispatcher
 return route.handler_adapter(request, response)
   File
 /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2/webapp2.py,
 line 1101, in __call__
 handler = self.handler(request, response)
 TypeError: __init__() takes exactly 1 argument (3 given)

 I'm not sure where to start with debugging this. is this a bug? Please help.

Is that the complete traceback? It doesn't seem to include the entry
point into your code.

Cheers,
Brian

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/vARS7lQZe9oJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Mispelling in

2012-04-06 Thread Brian Quinlan
On Fri, Apr 6, 2012 at 8:52 PM, abdelkrim boujraf
abdelkrim.bouj...@gmail.com wrote:
 how can we give a feedback to the team dealing with the website
 developers.google.com?

You can file a bug at:
http://code.google.com/p/googleappengine/issues

Ideally with a label of Component-Docs

Cheers,
Brian

 what if we found mistakes like this one:
 ... its number value is the same as for the the previously created...

 URL: https://developers.google.com/appengine/docs/python/tools/localunittesting

 Best regards,

 Abdelkrim
 http://blog.i14y.net

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/tNzncdJdSXIJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] location of Django admin media files

2012-04-04 Thread Brian Quinlan
Hi Josvic,

On Fri, Mar 23, 2012 at 2:21 AM, Josvic Zammit jvzam...@gmail.com wrote:
 I am running GoogleAppEngine (GAE) 1.6.3 with Python 2.7 and Django 1.3 by
 having:

 libraries:
 - name: django
   version: 1.3

 in my app.yaml. The following should serve the admin media files at url
 /static/admin:

 - url: /static/admin
   static_dir: django/contrib/admin/media
   expiration: '0'

 But I get 404s for such admin media (css, etc). Am I using the correct
 location for the Django admin's media file?

No, that isn't the correct path and we don't expose the correct path.
Have you considered the approach Serving the admin files described
at:
https://docs.djangoproject.com/en/1.3/howto/deployment/modwsgi/

Cheers,
Brian

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/Syw-aH-RnskJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Py2.7

2012-02-27 Thread Brian Quinlan
Hi,

On Tue, Feb 28, 2012 at 6:06 AM, pdknsk pdk...@googlemail.com wrote:
 To be honest, it seems a bit early to declare it stable. It still has
 many minor bugs, and performance problems.

Not to be flip but all software has bugs and the Python 2.7 runtime
(and the Python 2.5 runtime and the Java runtime and the Go
runtime...) are no exceptions. We aren't aware of any unfixed bugs
that would prevent someone from using the runtime but, if you
encounter a bug, please file it on the issue tracker and we will fix
it as soon as possible.

Now onto performance :-) There are definitely instances where the
Python 2.5 runtime outperforms the Python 2.7 runtime. The reverse is
also true.

It is not feasible for us to outperform the Python 2.5 runtime in
every case. To pick a trivial example, Python 2.7 supports
user-created threads and concurrent requests so some APIs now use
locks when mutating global state and copy some data structures when
previously that wasn't necessary. There is obviously some cost
associated with doing this but it is hard to avoid paying it. We think
that the benefits outweigh the costs.

Brandon mentioned a 50% reduction in billed instances when moving to
the Python 2.7 runtime and enabling threadsafe. We have seen a similar
reduction in other applications. But, as Cayden said in another
message, applications will benefit from concurrent requests to varying
degrees. This is not only an App Engine property - any Python
application modified to use threads may become more or (usually
slightly) less performant. Given the way that App Engine is normally
used, we expect concurrent requests to provide a cost benefit for most
(but not all) non-trivial-volume [1] applications.

Some of our larger customers have already migrated to reduce their
instance costs, to use features not available in Python 2.5, or to
gain access to higher-performance modules like cPickle and json. But,
if you think that the Python 2.7 runtime is too risky to use right now
due to bugs or performance problems, you can always wait a few months
and re-evaluate.

Now I'm going to reactivate my reality-distortion-field and eat some
more cake :-)

Oh, and thanks for starting the discussion!

Cheers,
Brian

[1] An application serving one request per minute doesn't have any
concurrent requests so it can't benefit.


 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Py2.7

2012-02-27 Thread Brian Quinlan
On Tue, Feb 28, 2012 at 3:02 PM, pdknsk pdk...@googlemail.com wrote:
 What! Google has App Engine plushies!

But of course:
http://www.googlestore.com/Fun/App+Engine+Squishable.axd

Cheers,
Brian


 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Memcache.get error: TypeError: expected string or Unicode object, int found

2012-02-22 Thread Brian Quinlan
Hi Rishi,

On Thu, Feb 23, 2012 at 10:50 AM, Rishi Arora rishi.ar...@ship-rack.com wrote:
 I'm not sure what memcache.get() is expecting that should be a string or
 unicode but is an int instead:

 example:
 return memcache.get(key='PackageStatusMap', namespace=NS_Generic)

 The key is a string, and the namespace is an integer.  Should the namespace
 be a string?

Yes, the namespace should be a string or Unicode object.

Cheers,
Brian

 Interestingly, when I executed the same command from a remote API session,
 all went well, and no errors were reported.


 On Wed, Feb 22, 2012 at 5:44 PM, Rishi Arora rishi.ar...@ship-rack.com
 wrote:

 For the last 30 minutes or so, my application (app id shiprack-test1) is
 getting these errors sourced to a memcache.get() - see stack trace below.
  My app has M/S datastore and a python2.5 runtime.  My app is essentially
 out-of-service now.  Anybody seen this?

   File
 /base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py,
 line 562, in get
 rpc = self.get_multi_async([key], namespace=namespace,
 for_cas=for_cas)
   File
 /base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py,
 line 615, in get_multi_async
 self.__get_hook, user_key)
   File
 /base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py,
 line 385, in _make_async_call
 rpc.make_call(method, request, response, get_result_hook, user_data)
   File
 /base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py,
 line 509, in make_call
 self.__rpc.MakeCall(self.__service, method, request, response)
   File
 /base/python_runtime/python_lib/versions/1/google/appengine/api/apiproxy_rpc.py,
 line 115, in MakeCall
 self._MakeCallImpl()
   File
 /base/python_runtime/python_lib/versions/1/google/appengine/runtime/apiproxy.py,
 line 161, in _MakeCallImpl
 request_data = self.request.SerializeToString()
   File
 /base/python_runtime/python_lib/versions/1/google/net/proto/ProtocolBuffer.py,
 line 60, in SerializeToString
 return self.Encode()
   File
 /base/python_runtime/python_lib/versions/1/google/net/proto/ProtocolBuffer.py,
 line 53, in Encode
 return self._CEncode()
   File
 /base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/memcache_service_pb.py,
 line 430, in _CEncode
 return _net_proto___parse__python.Encode(self,
 'apphosting.MemcacheGetRequest')
 TypeError: expected string or Unicode object, int found


 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Python 2.7: Instance memory limitations with concurrent requests

2012-02-21 Thread Brian Quinlan
Hi Mike,

On Wed, Feb 22, 2012 at 7:22 AM, Mike Wesner mike.wes...@webfilings.com wrote:
 I would love to learn more from google on python memory handling.   As
 Robert mentioned, we have observed that memory is not released/garbage
 collected on python 2.5 instances.  It seems to just hold on to it.
 This works because the instances don't live forever and eventually get
 shutdown and new ones take their place.

We haven't changed Python's built-in memory management in either of
our Python runtimes.

Note that, even excluding cyclic garbage collection, Python and the C
allocator do not always release memory eagerly - they maintain their
own memory pools for performance reasons.

So, for example, you can't assume that an instance consuming 100MB of
memory only has 28MB remaining to handle requests.

Cheers,
Brian


The memory management used in the App Engine Python 2.5 and 2.7 runti


 -Mike

 On Feb 21, 10:33 am, alex a...@cloudware.it wrote:
  One of the biggest issues is that the Python runtime leaks memory like mad

 could you elaborate on this? or give some references that support your
 claims (provided an app code is written according to best practices, etc)







 On Tuesday, February 21, 2012 5:10:16 PM UTC+1, Robert Kluin wrote:

  To be clear, the scheduler can still dispatch multiple requests for
  that url to the same instance.  Only one request will execute at a
  time though.  One of the biggest issues is that the Python runtime
  leaks memory like mad, so in this case you may wind up with 1)
  increased latency and 2) still blowing mem limits fast.

  Robert

  On Tue, Feb 21, 2012 at 09:36, Jeff Schnitzer wrote:
   On Mon, Feb 20, 2012 at 5:33 AM, Johan Euphrosine wrote:

   On Mon, Feb 20, 2012 at 11:25 AM, Andrin von Rechenberg
   wrote:

   I guess that's the same solution as just deploying two different
   versions. A threadsafe one and a non threadsafe one. Or did
   I misunderstand you?

   appcfg.py provide commands to help you manage your backends deployment
  and
   configuration, with `backends.yaml` and `appcfg backends update`.

   That make the solution more convenient than using multiple versions on
   frontend instances.

   This adds the significant downside of no auto-scaling.  I don't see how
   that's more convenient :-)

   Andrin:  In javaland I would simply synchronize the people-search
  function
   so that at most one thread can execute that routine in a single instance
  at
   once.  It means all people-search requests in that instance will queue
  up in
   serial, which could cause undesirable waits if the function takes
   significant time, but if the requests are spread out among enough
  instances
   it probably won't be an issue.

   I don't know what the python equivalent of 'synchronized' is.

   Jeff

 --
 You received this message because you are subscribed to the Google Groups 
 Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe from this group, send email to 
 google-appengine+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/google-appengine?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] [JDO] Getting an Object by Key will count as Small Datastore Operations

2012-02-10 Thread Brian Quinlan
On Fri, Feb 10, 2012 at 7:53 PM, poke buidinhngoc.a...@gmail.com wrote:
 Few days ago , i change my code to access by key (not by query) . But
 in Billing report  Small Datastore Operations  still equal zero and
 Datastore Reads  same as using query - billing not go to down.

 JDO pm.getObjectById() method still count as Datastore Reads

Gets still cost a read operation. See:
http://code.google.com/appengine/docs/billing.html

Entity Get (per entity): 1 Read
Query: 1 Read + 1 Read per entity returned

Cheers,
Brian

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: [JDO] Getting an Object by Key will count as Small Datastore Operations

2012-02-10 Thread Brian Quinlan
On Fri, Feb 10, 2012 at 9:03 PM, poke buidinhngoc.a...@gmail.com wrote:
 thanks .
 finally pm.getObjectById() is  Entity Get ?

Yes, you are loading the contents of a datastore entity.

Cheers,
Brian


 On Feb 10, 4:05 pm, Brian Quinlan bquin...@google.com wrote:
 On Fri, Feb 10, 2012 at 7:53 PM, poke buidinhngoc.a...@gmail.com wrote:
  Few days ago , i change my code to access by key (not by query) . But
  in Billing report  Small Datastore Operations  still equal zero and
  Datastore Reads  same as using query - billing not go to down.

  JDO pm.getObjectById() method still count as Datastore Reads

 Gets still cost a read operation. 
 See:http://code.google.com/appengine/docs/billing.html

 Entity Get (per entity): 1 Read
 Query: 1 Read + 1 Read per entity returned

 Cheers,
 Brian







  --
  You received this message because you are subscribed to the Google Groups 
  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 
  athttp://groups.google.com/group/google-appengine?hl=en.

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] APP ABUSE

2012-02-03 Thread Brian Quinlan
Hi Angelo,

On Fri, Feb 3, 2012 at 9:19 PM, Angelo idol...@gmail.com wrote:
 The owner of this url http://www.asburyisgay.appspot.com hacked my
 site http://www.trafalgarsqaure.info/, copied it all and redirected it
 to the url: http://www.asburyisgay.appspot.com/TrafalgarSquare.info.

I don't think that any hacking or copying was involved. It looks like
this is a simple proxy application. Note, for example:
http://www.asburyisgay.appspot.com/google.com


 How to contact google and to tell them to remove this url?

 The contact form for APP Abuse doesn't work for me, because I don't
 have app ID and I need it to submit a report.

The app id is asburyisgay but this does not look like abuse to me.

Cheers,
Brian


 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: App Engine SDK 1.6.2 is out!

2012-02-01 Thread Brian Quinlan
Hi Ron,

On Thu, Feb 2, 2012 at 8:04 AM, Ron rc...@bonline.com wrote:
 why is Django 1.3 not available with Python 2.7 ?

Before Python 2.7's official release we want to maximize the amount of
testing that its existing libraries get instead of adding new ones.

 and will Django non-rel be available in a future release?

We generally don't commit to packaging new libraries but you can use
Django nonrel right now by downloading it yourself and putting it in
your application's directory.

Cheers,
Brian

 On Jan 31, 11:17 pm, Ikai Lan (Google) ika...@google.com wrote:
 Hey everyone,

 Just wanted to announce that App Engine 1.6.2 is out! You can check out the
 blog post here:

 http://googleappengine.blogspot.com/2012/01/app-engine-162-released.html

 Note that if you're getting an import error for task queues, you're
 probably still using the old labs import. You'll want to get this cleared
 up (you'll also want to pay attention to deprecation warnings).

 Release notes are below for your reading pleasure:

 *Java 1.6.2*
 --

    - The Admin Console Datastore Admin has added experimental backup and
    restore functionality. The job occurs within your application and counts
    against your application quota, including Instance Hours, Datastore Ops 
 and
    Datastore Storage.
    - Developers can now specify how long a channel token will last until it
    expires, with the default remaining two hours. Channel API quota is now
    measured both in calls to create a channel and the number of hours of
    channel time requested. The maximum hours of quota is the maximum number 
 of
    channel creation calls * 2, so free apps get 200 hours of requested
    channel token time.
    - Task Queue API requests now include a X-Appengine-TaskETA header, that
    can be used to measure task delivery latency.
    - We have removed the deprecated labs version of the TaskQueue API.
    - The default API deadlines for Blobstore API calls have been raised to
    15s for online and 30s for offline requests, up from 5s.
    - The Images API now allows you to stretch an image without maintaining
    the aspect ratio.
       -http://code.google.com/p/googleappengine/issues/detail?id=2220
    - Mail Quota for App Engine apps that have signed up for billing will
    only be increased after the first payment for the app is processed.
    - Fixed an issue where the SDK did not resize images down to 512 pixels
    by default, as it does in production.
    - Fixed an issue with the Images API where valid images were returning a
    NotImageError.
       -http://code.google.com/p/googleappengine/issues/detail?id=5545

 *Python 1.6.2*
 

    - The Admin Console Datastore Admin has added experimental backup and
    restore functionality. The job occurs within your application and counts
    against your application quota, including Instance Hours, Datastore Ops 
 and
    Datastore Storage.
    - Developers can now specify how long a channel token will last until it
    expires, with the default remaining two hours. Channel API quota is now
    measured both in calls to create a channel and the number of hours of
    channel time requested. The maximum hours of quota is the maximum number 
 of
    channel creation calls * 2, so free apps get 200 hours of requested
    channel token time.
    - Python Django now work with Cloud SQL without additional
    configuration. For further information see
    https://developers.google.com/cloud-sql/.
    - Task Queue API requests now include a X-Appengine-TaskETA header, that
    can be used to measure task delivery latency.
    - The default API deadlines for Blobstore API calls have been raised to
    15s for online and 30s for offline requests, up from 5s.
    - The Images API now allows you to stretch an image without maintaining
    the aspect ratio.
       -http://code.google.com/p/googleappengine/issues/detail?id=2220
    - The Blobstore API now includes the asynchronous function calls
    create_upload_url_async, delete_async, and fetch_data_async.
    - Django version 1.3 is now available in the Python 2.5 runtime.
    - We've added a django_wsgi builtin to allow easier bootstrapping of
    Django applications.
    - Mail Quota for App Engine apps that have signed up for billing will
    only be increased after the first payment for the app is processed.
    - As announced in 1.6.1, in this release for the experimental Python 2.7
    runtime, the mapreduce and datastore_admin builtins are not available to
    apps deployed to Python 2.7.
    - Fixed an issue with remote_api where calling fetch_page() with a page
    size of 301 and chaining the calls through the returned cursor was 
 skipping
    half of the results.
    - Fixed an issue where the PIL _imagingmath module was not available in
    Python 2.7.
    - Fixed an issue where the SDK did not resize images down to 512 pixels
    by default, as it does in production.
    - Fixed an issue with the 

Re: [google-appengine] webapp2_extras sessions_ndb problem (appengine 1.6.1)

2012-01-21 Thread Brian Quinlan
On Sat, Jan 21, 2012 at 3:37 AM, Mariatta mwij...@vendasta.com wrote:
 I'm using webapp2 framework that is shipped together with Google AppEngine
 1.6.1
 In webapp2_extras/appengine/sessions_ndb.py line 20 it reads:

 from ndb import model


 I wonder if this should have been:

  from google.appengine.ext.ndb import model


 Because as I am trying to use the datastore as the sessions_backend in
 webapp2, it complains about ' no module named ndb found'

webapp2 has not been updated since ndb was packaged as part of the App
Engine runtime and SDK.

For now you can download ndb yourself and put it in the root directory
of your application.

The next release of webapp2 should behave as you expect.

Cheers,
Brian

 Here's the full stack trace. I bold the part where I think the problem is

 500 Internal Server Error import_string() failed for
 'webapp2_extras.appengine.sessions_ndb.DatastoreSessionFactory'. Possible
 reasons are: - missing __init__.py in a package; - package or module path
 not included in sys.path; - duplicated package or module name taking
 precedence in sys.path; - missing module, class, function or variable;
 Original exception: ImportError: No module named ndb Debugged import: -
 'webapp2_extras' found in
 '/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2/webapp2_extras/__init__.pyc'.
 - 'webapp2_extras.appengine' found in
 '/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2/webapp2_extras/appengine/__init__.py'.
 - 'webapp2_extras.appengine.sessions_ndb' not found.


 Is it possible to have this updated properly?

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/-XbP9mGoycQJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Random DeadlineExceed Errors with python27 and HRD

2012-01-18 Thread Brian Quinlan
Hi Sergio,

On Thu, Jan 19, 2012 at 4:46 AM, sergio.jar...@gmail.com
sergio.jar...@gmail.com wrote:
 Hi,
 I'm seeing random DeadlineExceeded errors with python27 and HRD since
 about a week ago,
 I do have threadsafe False so it's not the threadsafe latency issue.
 I can provide the app id off-list.

Without knowing what your application is doing, it is hard to say with
the problem is. Are these exceptions triggered by any particular query
pattern? How many datastore calls are you making? What limit are you
using? In a successful request, what does AppStats say about the
API-call timing for the request?

Cheers,
Brian

 Here is a (partial) trace

 File /base/python27_runtime/python27_lib/versions/1/google/appengine/
 ext/db/__init__.py, line 2084, in fetch
    return list(self.run(limit=limit, offset=offset, **kwargs))
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/ext/db/__init__.py, line 2237, in next
    return self.__model_class.from_entity(self.__iterator.next())
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/datastore/datastore_query.py, line 2655, in next
    next_batch = self.__batcher.next()
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/datastore/datastore_query.py, line 2525, in next
    return self.next_batch(self.AT_LEAST_ONE)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/datastore/datastore_query.py, line 2562, in next_batch
    batch = self.__next_batch.get_result()
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/api/apiproxy_stub_map.py, line 592, in get_result
    return self.__get_result_hook(self)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/datastore/datastore_query.py, line 2317, in
 __query_result_hook
    self._conn.check_rpc_success(rpc)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/datastore/datastore_rpc.py, line 1176, in check_rpc_success
    rpc.wait()
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/api/apiproxy_stub_map.py, line 535, in wait
    assert self.__rpc.state == apiproxy_rpc.RPC.FINISHING,
 repr(self.state)
 DeadlineExceededError

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Do you Serialize your Data?

2012-01-18 Thread Brian Quinlan
Hi Brandon,

On Thu, Jan 19, 2012 at 11:25 AM, Brandon Wirtz drak...@digerat.com wrote:
 Round one of my testing says that Serializing via JSON,  or Pickle is SLOWER
 than just doing the reads from the datastore.

This might be different in the Python 2.7 runtime, where cPickle and
C-accelerated JSON are available.

Cheers,
Brian

 I'm reading up on model_to_protobuf
 Which is supposed to be faster.

 I'm a little sad. It would be awesome if there was a
 .put(key,serialize(stuff_i_would_write)





 -Original Message-
 From: google-appengine@googlegroups.com
 [mailto:google-appengine@googlegroups.com] On Behalf Of bFlood
 Sent: Tuesday, January 17, 2012 6:52 AM
 To: Google App Engine
 Subject: [google-appengine] Re: Do you Serialize your Data?

 hi brandon

 compression - not really, at least not with HRD. I remember it being useful
 in M/S but only for larger strings. I'm using this python property now, it
 only compresses over a certain size
 http://atastypixel.com/blog/wp-content/uploads/2011/01/compressible_text_pro
 perty.py_.txt

 great article jeff, I know I've read of few of your older posts about this
 in the past

 cheers
 brian


 On Jan 17, 9:21 am, Brandon Wirtz drak...@digerat.com wrote:
 You wrote How to Use GAE to Get Laid and didn't tell anyone?  Evil.







 -Original Message-
 From: google-appengine@googlegroups.com

 [mailto:google-appengine@googlegroups.com] On Behalf Of Jeff Schnitzer
 Sent: Tuesday, January 17, 2012 6:10 AM
 To: google-appengine@googlegroups.com
 Subject: Re: [google-appengine] Re: Do you Serialize your Data?

 In fact, I wrote up an explanation of this 6 months ago:

 http://blog.similarity.com/post/7541938593/how-to-build-an-online-dat...
 e-nosql-edition

 Jeff

 On Tue, Jan 17, 2012 at 2:06 PM, Jeff Schnitzer j...@infohazard.org
 wrote:
  I tend to do this a lot to minimize the cost of fetching data; if I
  need all the information about a Person then I get all that info by
  loading a single entity, usually pulled from memcache. Most of my
  analytic processes look like map/reduce so indexing these complex
  structures wouldn't really help.

  If you're in Javaland you can use Objectify4 and annotate a field
  with
  @Serialize(zip=true) to get it automatically compressed. I haven't
  compared resulting entity sizes, however.

  Jeff

  On Tue, Jan 17, 2012 at 1:27 PM, Brandon Wirtz drak...@digerat.com
 wrote:
  Have you weighed Compression vs uncompressed in terms of speed, and
 cost?

  I'll end up testing to see, but I like to know the answers
  beforehand
  :-)

  -Original Message-
  From: google-appengine@googlegroups.com
  [mailto:google-appengine@googlegroups.com] On Behalf Of bFlood
  Sent: Tuesday, January 17, 2012 4:54 AM
  To: Google App Engine
  Subject: [google-appengine] Re: Do you Serialize your Data?

  hi brandon

  I do this with a bunch of models, keep a few properties for search
  and then dump the bulk of data into a compressed, json text property.
  Obviously the json part might be overkill but its a lot more
  flexible going forward if (err, when) you need to add more data
  (especially nested data)

  reads and writes are faster, YMMV

  YMMV
  b

  On Jan 17, 4:44 am, Brandon Wirtz drak...@digerat.com wrote:
  We are looking at restructuring some of our calls, optimizing
  again for speed, we are thinking that rather than having a
  datastore call for a single cell, we'd serialize things.

  This makes searching suck, and we have had a few issues where
  serialized and unserialized data didn't quite match when we were
  done (because of weird encoded characters from sites)

  Serializing also locks you in to a single data structure for the
  most
  part.

  We are also just considering:
  data as a zipped, delimited array
  uncompressed, delimited
  Double storing, so that we pay twice for writes, and can run
  analytics, but so that reads are against the serialized data, and
  faster
  and cost less.

  What are anyone's thoughts? Have you had these discussions with
  your dev team?

  --
  You received this message because you are subscribed to the Google
  Groups 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.

  --
  You received this message because you are subscribed to the Google
  Groups
 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
 athttp://groups.google.com/group/google-appengine?hl=en.

 --
 You received this message because you are subscribed to the Google
 Groups Google App Engine group.
 To post to this group, send email to google-appengine@googlegroups.com.
 To unsubscribe 

Re: [google-appengine] Re: function save from numpy works, but not savez

2012-01-08 Thread Brian Quinlan
Hi,

savez(), unlike save(), writes its intermediate results to a temporary
file. Since App Engine doesn't support temporary files, this doesn't work.

Working around this should be fairly easy but you may have to careful that
your intermediate data isn't bigger than the available instance memory.

Cheers,
Brian

On Mon, Jan 9, 2012 at 7:36 AM, redjava redj...@gmail.com wrote:

 savez(StringIO,numpy array)
 it works for save(StringIO,numpy array), but will raise that error if
 change save() to savez()

 Thanks,
 redjava

 On Jan 7, 9:37 pm, Brian Quinlan bquin...@google.com wrote:
  On Sun, Jan 8, 2012 at 4:19 PM, redjava redj...@gmail.com wrote:
   The rest is just a function call to savez
 
  With what arguments?
 
  Cheers,
  Brian
 
 
 
 
 
 
 
 
 
   On Jan 7, 4:41 pm, Brian Quinlan bquin...@google.com wrote:
Are you sure that is the full traceback?
 
On Sun, Jan 8, 2012 at 10:52 AM, redjava redj...@gmail.com wrote:
 Hi,
 
 The traceback for using savez is:
  File C:\Python27\lib\site-packages\numpy\lib\npyio.py, line 491,
 in savez
  File C:\Python27\lib\site-packages\numpy\lib\npyio.py, line 543,
 in _savez
  File C:\Program Files
 (x86)\Google\google_appengine\google\appengine
 \dist\tempfile.py, line 61, in PlaceHolder
raise NotImplementedError(Only tempfile.TemporaryFile is
 available for use)
 NotImplementedError: Only tempfile.TemporaryFile is available for
 use
 
 Thanks!
 redjava
 
 On Jan 6, 5:51 pm, Brian Quinlan bquin...@google.com wrote:
  Hi,
 
  On Sat, Jan 7, 2012 at 12:43 PM, redjava redj...@gmail.com
 wrote:
   To save large numpy array, one way is to create a StringIO,
 call
   save() to compress the array and save it as Blob
   This method works fine with save(), but not with savez().
 Instead
   it
   will raise NotImplementedError: Only tempfile.TemporaryFile is
   available for use
 
  Could you provide the entire traceback?
 
  Cheers,
  Brian
 
   --
   You received this message because you are subscribed to the
 Google
 Groups
   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.
 
 --
 You received this message because you are subscribed to the Google
   Groups
 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.
 
   --
   You received this message because you are subscribed to the Google
 Groups
   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.

 --
 You received this message because you are subscribed to the Google Groups
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: function save from numpy works, but not savez

2012-01-08 Thread Brian Quinlan
On Mon, Jan 9, 2012 at 2:04 PM, Brandon Wirtz drak...@digerat.com wrote:
 I don’t use numpy, so I have no clue, but doesn’t Savez just compress save?

No, it uses a fairly different code path.

 Can the same thing be achieved using Zip compress on the Save?

I'm not 100% sure - save and savez end up in different C code and I
didn't spend enough time examining the code to see how they are
different.

 Also could the GAE version of Numpy not be modified easily to not use a temp
 file and just doing the compression in memory?

Even if modifying it were easy (and I'm not sure about that), we'd
prefer to not have a set of patches lying around that we have to apply
to various third-party libraries every time that we upgrade them.

Cheers,
Brian






 From: google-appengine@googlegroups.com
 [mailto:google-appengine@googlegroups.com] On Behalf Of Brian Quinlan
 Sent: Sunday, January 08, 2012 6:43 PM
 To: google-appengine@googlegroups.com
 Subject: Re: [google-appengine] Re: function save from numpy works, but not
 savez



 Hi,

 savez(), unlike save(), writes its intermediate results to a temporary file.
 Since App Engine doesn't support temporary files, this doesn't work.



 Working around this should be fairly easy but you may have to careful that
 your intermediate data isn't bigger than the available instance memory.



 Cheers,

 Brian



 On Mon, Jan 9, 2012 at 7:36 AM, redjava redj...@gmail.com wrote:

 savez(StringIO,numpy array)
 it works for save(StringIO,numpy array), but will raise that error if
 change save() to savez()

 Thanks,
 redjava

 On Jan 7, 9:37 pm, Brian Quinlan bquin...@google.com wrote:

 On Sun, Jan 8, 2012 at 4:19 PM, redjava redj...@gmail.com wrote:
  The rest is just a function call to savez

 With what arguments?

 Cheers,
 Brian









  On Jan 7, 4:41 pm, Brian Quinlan bquin...@google.com wrote:
   Are you sure that is the full traceback?

   On Sun, Jan 8, 2012 at 10:52 AM, redjava redj...@gmail.com wrote:
Hi,

The traceback for using savez is:
 File C:\Python27\lib\site-packages\numpy\lib\npyio.py, line 491,
in savez
 File C:\Python27\lib\site-packages\numpy\lib\npyio.py, line 543,
in _savez
 File C:\Program Files
(x86)\Google\google_appengine\google\appengine
\dist\tempfile.py, line 61, in PlaceHolder
   raise NotImplementedError(Only tempfile.TemporaryFile is
available for use)
NotImplementedError: Only tempfile.TemporaryFile is available for
use

Thanks!
redjava

On Jan 6, 5:51 pm, Brian Quinlan bquin...@google.com wrote:
 Hi,

 On Sat, Jan 7, 2012 at 12:43 PM, redjava redj...@gmail.com
 wrote:
  To save large numpy array, one way is to create a StringIO, call
  save() to compress the array and save it as Blob
  This method works fine with save(), but not with savez().
  Instead
  it
  will raise NotImplementedError: Only tempfile.TemporaryFile is
  available for use

 Could you provide the entire traceback?

 Cheers,
 Brian

  --
  You received this message because you are subscribed to the
  Google
Groups
  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.

--
You received this message because you are subscribed to the Google
  Groups
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.

  --
  You received this message because you are subscribed to the Google
  Groups
  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.

 --
 You received this message because you are subscribed to the Google Groups
 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.



 --
 You received this message because you are subscribed to the Google Groups
 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.

 --
 You received

Re: [google-appengine] Re: function save from numpy works, but not savez

2012-01-07 Thread Brian Quinlan
Are you sure that is the full traceback?

On Sun, Jan 8, 2012 at 10:52 AM, redjava redj...@gmail.com wrote:

 Hi,

 The traceback for using savez is:
  File C:\Python27\lib\site-packages\numpy\lib\npyio.py, line 491,
 in savez
  File C:\Python27\lib\site-packages\numpy\lib\npyio.py, line 543,
 in _savez
  File C:\Program Files (x86)\Google\google_appengine\google\appengine
 \dist\tempfile.py, line 61, in PlaceHolder
raise NotImplementedError(Only tempfile.TemporaryFile is
 available for use)
 NotImplementedError: Only tempfile.TemporaryFile is available for use

 Thanks!
 redjava

 On Jan 6, 5:51 pm, Brian Quinlan bquin...@google.com wrote:
  Hi,
 
  On Sat, Jan 7, 2012 at 12:43 PM, redjava redj...@gmail.com wrote:
   To save large numpy array, one way is to create a StringIO, call
   save() to compress the array and save it as Blob
   This method works fine with save(), but not with savez(). Instead it
   will raise NotImplementedError: Only tempfile.TemporaryFile is
   available for use
 
  Could you provide the entire traceback?
 
  Cheers,
  Brian
 
 
 
 
 
 
 
 
 
   --
   You received this message because you are subscribed to the Google
 Groups
   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.

 --
 You received this message because you are subscribed to the Google Groups
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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: Datastore Small Operations

2012-01-07 Thread Brian Quinlan
Hi James,

In the future could you address your questions to the group rather than me
personally? There may be other people interested in this information.

Some examples of various operation sizes are here:
http://code.google.com/appengine/docs/billing.html#Billable_Resource_Unit_Cost

On Sun, Jan 8, 2012 at 12:16 PM, James Gilliam jimgill...@gmail.com wrote:

 Is get_by_key_name( aKey ) a small datastore operation ?


No.

If not, what is?


Allocating a key or returning a key as a query result.

Cheers,
Brian



 On Nov 7 2011, 2:27 pm, Brian Quinlan bquin...@google.com wrote:
  Hi Sargis,
 
  Please see:http://code.google.com/appengine/docs/quotas.html#Resources
 
  Key allocations and keys-only queries consumesmalloperations.
 
  Let me know if I can do anything else to help.
 
  Cheers,
  Brian
 
 
 
 
 
 
 
  On Tue, Nov 8, 2011 at 9:18 AM, Sargis Dallakyan dallaky...@gmail.com
 wrote:
   Greetings,
 
   Does anyone know whatDatastoreSmallOperations means and where I can
   find more info about it. I'm currently getting over the quota on this
   after Nov 7 update: 100% - 0.05 of 0.05 Million Ops.
 
   I've searched the web and documentations, but can't find anything
   about this in the release notes or in the documentations.
 
   Thanks,
   Sargis
 
   --
   You received this message because you are subscribed to the Google
 Groups 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 athttp://
 groups.google.com/group/google-appengine?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: function save from numpy works, but not savez

2012-01-07 Thread Brian Quinlan
On Sun, Jan 8, 2012 at 4:19 PM, redjava redj...@gmail.com wrote:

 The rest is just a function call to savez


With what arguments?

Cheers,
Brian


 On Jan 7, 4:41 pm, Brian Quinlan bquin...@google.com wrote:
  Are you sure that is the full traceback?
 
 
 
 
 
 
 
  On Sun, Jan 8, 2012 at 10:52 AM, redjava redj...@gmail.com wrote:
   Hi,
 
   The traceback for using savez is:
File C:\Python27\lib\site-packages\numpy\lib\npyio.py, line 491,
   in savez
File C:\Python27\lib\site-packages\numpy\lib\npyio.py, line 543,
   in _savez
File C:\Program Files (x86)\Google\google_appengine\google\appengine
   \dist\tempfile.py, line 61, in PlaceHolder
  raise NotImplementedError(Only tempfile.TemporaryFile is
   available for use)
   NotImplementedError: Only tempfile.TemporaryFile is available for use
 
   Thanks!
   redjava
 
   On Jan 6, 5:51 pm, Brian Quinlan bquin...@google.com wrote:
Hi,
 
On Sat, Jan 7, 2012 at 12:43 PM, redjava redj...@gmail.com wrote:
 To save large numpy array, one way is to create a StringIO, call
 save() to compress the array and save it as Blob
 This method works fine with save(), but not with savez(). Instead
 it
 will raise NotImplementedError: Only tempfile.TemporaryFile is
 available for use
 
Could you provide the entire traceback?
 
Cheers,
Brian
 
 --
 You received this message because you are subscribed to the Google
   Groups
 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.
 
   --
   You received this message because you are subscribed to the Google
 Groups
   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.

 --
 You received this message because you are subscribed to the Google Groups
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] [Python] Threadsafe or not?

2012-01-06 Thread Brian Quinlan
On Sat, Jan 7, 2012 at 7:19 AM, Kaan Soral kaanso...@gmail.com wrote:

 Like I mentioned in my post, I've enabled threadsafe, so you can deduct
 that I am on 2.7


Actually, you can set threadsafe: yes in Python 2.5 as well so that would
not be a safe assumption.

There are know issues with using concurrent requests with Python 2.7:
http://code.google.com/p/googleappengine/issues/detail?id=6323

Cheers,
Brian


 I have also tried F4 instances today, but although I had 12 instances when
 I checked, QPS values was around 3-5 and memory was around 90's on all
 instances
 (max 256 but all instances were using 80-90)

 So I don't think concurrency is used much

  --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/2mXQgZP8MBkJ.

 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] function save from numpy works, but not savez

2012-01-06 Thread Brian Quinlan
Hi,

On Sat, Jan 7, 2012 at 12:43 PM, redjava redj...@gmail.com wrote:

 To save large numpy array, one way is to create a StringIO, call
 save() to compress the array and save it as Blob
 This method works fine with save(), but not with savez(). Instead it
 will raise NotImplementedError: Only tempfile.TemporaryFile is
 available for use


Could you provide the entire traceback?

Cheers,
Brian


 --
 You received this message because you are subscribed to the Google Groups
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] [Python] Threadsafe or not?

2012-01-05 Thread Brian Quinlan
The Python 2.5 runtimes does not support concurrent requests. The
Python 2.7 runtime (currently experimental) does.

Cheers,
Brian

On Fri, Jan 6, 2012 at 1:06 PM, Kaan Soral kaanso...@gmail.com wrote:
 I think my requests are lightweight.

 I have enabled threadsafe a long time ago but my QPS values for Instances
 are 0.1 0.3 1.4 etc
 Very low

 I also have a lot of instances like these, 10s of them ( min_idle = 1 )

 Is there anyone who can confirm concurrency in Python?

 (I think my regular requests should use 0-3mb of ram, but I have no way of
 testing it, how can I test it? )

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/fWBjhEcToosJ.
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Datastore Admin broken on python27

2012-01-03 Thread Brian Quinlan
On Sat, Dec 31, 2011 at 11:38 AM, Maximillian Dornseif
m.dorns...@hudora.de wrote:


 On Dec 31, 1:22 am, Maximillian Dornseif m.dorns...@hudora.de wrote:
 On Dec 27, 7:43 pm, Anand Mistry amis...@google.com wrote:
  The recommended way to use datastore admin with Python 2.7 is by enabling
  it through the administration console
  (http://code.google.com/appengine/docs/adminconsole/datastoreadmin.html).
 Thanks for the hint!

 Hmm. Now I only get:

 The requested URL /_ah/login_required?continue=https://ah-builtin-
 python-bundle-dot-latest-dot-hdwawi.appspot.com/_ah/datastore_admin/?
 app_id=s~hdwawi was not found on this server.

 seems to be broken for apps using federated login :-(

Yes, this is a bug:
http://code.google.com/p/googleappengine/issues/detail?id=4111

Cheers,
Brian

 --md

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] PIL Import Error

2012-01-02 Thread Brian Quinlan
Hi Richard,

This looks like a bug. Sorry that it bit you but thanks for helping us
by testing Python 2.7!

Cheers,
Brian

On Mon, Jan 2, 2012 at 4:49 PM, Richard Arrano rickarr...@gmail.com wrote:
 Hello,
 I've been attempting to work with the Python Imaging Library in my
 app, and for the most part I can do so. In my app.yaml I have:
 libraries:
 - name: PIL
  version: latest

 However, I wanted to use ImageMath.eval and I found this error:

  line 11, in module
    import ImageMath
  File /base/python27_runtime/python27_lib/versions/third_party/
 PIL-1.1.7/PIL/ImageMath.py, line 19, in module
    import _imagingmath

 It seems like I should be able to use ImageMath since it is in the
 directory on App Engine's side, but there's a problem with finding the
 SO file. Is this something on purpose that's disabled for us?

 Thanks,
 Rick

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: DeadlineExceededError on HRD and sky-high latency (python27+threadsafe)

2011-12-30 Thread Brian Quinlan
Hi Felippe,

We have been treating
http://code.google.com/p/googleappengine/issues/detail?id=6323 as a
high-priority issue and I've marked it as such.

That being said, the Python 2.7 runtime is experimental and we can't
offer any support for it or provide any guarantees on when this issue
will be fixed.

Cheers,
Brian

On Wed, Dec 28, 2011 at 7:06 PM, Felippe Bueno felippe.bu...@gmail.com wrote:

 Hello All,

 Someone has any work around for this, or aren't you using
 python27+threadsafe ?

 Thank you very much.


 Hello Googlers,

 Any progress or prevision on this ?

 It is very frustrating having python 2.7 without thread safe.

 I'm also trying to contact premier account's email but without  success. I'd
 like to get real support.

 About 6323, is it really medium priority ? I think this is a high priority
 issue.

 Any way. Thanks



 On Wed, Dec 7, 2011 at 7:11 PM, sergio.jar...@gmail.com
 sergio.jar...@gmail.com wrote:

 Hi, Brian, Gregory

 Thanks for your valuable insights!
 I did know about the issue 6323 and had stared it. However I was not
 sure it was the same as the issue mentioned CPU bound requests.
 My app is very much RPC bound. I've added a comment to this thread to
 the issue and I've set threadsafe: no and will monitor. So far latency
 seems Ok and the number of instances is 5x-6x of when I had
 threadsafe: yes.
 I do agree with Felippe, we should be able to maintain the 50%
 discount until python27 and threadsafe are fully supported.
 This is also making things worse - it seems the minimum latency is not
 being enforced correctly, I also have this.

 http://code.google.com/p/googleappengine/issues/detail?id=5765can=5sort=-statuscolspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log

 Sérgio


 On Dec 7, 5:12 am, Gregory D'alesandre gr...@google.com wrote:
  Hi Felippe,
 
  As you noted Python 2.7 is released.  While Python 2.7 is still
  experimental it is working well for some but indeed there are still
  issues
  before it will be fully GA.  There was a concern that we were abandoning
  Python because there was no solution for concurrent requests.  Python
  2.7,
  even in its current state, shows that we are not abandoning Python.  We
  tried our best to make appropriate trade-offs with the new pricing model
  but at some point we needed to roll it out for the reasons we've
  discussed
  at length in the past.  For instance, when this was written we were also
  going to launch the new pricing 1.5 months earlier than we actually
  released it, which likely saved you quite a bit of money, as opposed to
  this which is costing you more.
 
  While my guess is you'd still rather that the 50% discount persisted I
  hope
  that answers your question,
 
  Greg
 
  On Tue, Dec 6, 2011 at 5:29 PM, Felippe Bueno
  felippe.bu...@gmail.comwrote:
 
 
 
 
 
 
 
 
 
   On Tue, Dec 6, 2011 at 8:56 PM, Brian Quinlan bquin...@google.com
   wrote:
 
   There is a known bug where the combination of Python 2.7 and enabling
   concurrent requests causes large latency increases. The Python 2.7
   runtime is still experimental and bugs like this are expected.
 
   Ok, I understand that.
 
   Greg, could you please let us know why we have the new full-sized
   instance
   hour for python and still not have python concurrent requests ?
 
   I'm asking because you
   wrotehttp://groups.google.com/group/google-appengine/browse_thread/thread/...
   :
 
   Q: Will there be a solution for Python concurrency?  Will this require
   any
   code changes?
   Python concurrency will be handled by our release of Python 2.7 on App
   Engine.  We’ve heard a lot of feedback from our Python users who are
   worried
   that the incentive is to move to Java because of its support for
   concurrent
   requests, so we’ve made a change to the new pricing to account for
   that.  *While
   Python 2.7 support is currently in progress it is not yet done *so we
   will be **
   providing a half-sized instance for Python (at half the price) until
   Python
   2.7 is released.* *
 
   Ok, I know. It was already released (as experimental), but I thought
   that
   the purpose to holding full-sized instances was to give to python
   users
   the concurrent requests.
 
   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.

 --
 You received this message because you are subscribed to the Google Groups
 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

Re: [google-appengine] Least Expensive Way to Delete Entities

2011-12-20 Thread Brian Quinlan
I think that Ikai made an off-by-one-error: it requires 22 writes
assuming that every property is indexed :-)

Check out Entity Delete (per entity) at:
http://code.google.com/appengine/docs/billing.html#Billable_Resource_Unit_Cost

Cheers,
Brian

On Tue, Dec 20, 2011 at 11:47 PM, supercobra superco...@gmail.com wrote:
 Could you explain (again?) how a deletion of an entity w/ 10- property is 21
 writes?


 On Mon, Dec 19, 2011 at 3:18 PM, Ikai Lan (Google) ika...@google.com
 wrote:

 One thing you can do is making this really slow. The free quota actually
 gives you quite a bit of quota (if your app is relatively small) so if you
 can stretch out your job you can purge a relatively small datastore at low
 cost.

 I suspect what makes this expensive is datastore ops, not instance hours.
 Deleting an entity with 10 properties is 21 writes! There's not a lot we can
 do there ...

 --
 Ikai Lan
 Developer Programs Engineer, Google App Engine
 plus.ikailan.com | twitter.com/ikai



 On Mon, Dec 19, 2011 at 9:50 AM, Patrick Twohig
 patr...@namazustudios.com wrote:

 Hi,

 I have a bit of old data that I want to clean out.  I tried to write a
 fanout operation to clean out some of the old data, but it's actually manged
 to run out my budget in a few hours.  I'm curious if there would be a way to
 delete huge amounts of old data that isn't needed anymore.  Is there a tool
 or something that i can use to efficiently purge entity groups from my
 application?  Any help would be greatly appreciated.

 Thanks,
 Patrick.

 --
 Patrick H. Twohig.

 Namazu Studios
 P.O. Box 34161
 San Diego, CA 92163-4161

 --
 You received this message because you are subscribed to the Google Groups
 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Isn't .08/hr 1.92/day $59.52/month for a 600 MHZ CPU instance with 128 MB memory a LITTLE EXPENSIVE

2011-12-15 Thread Brian Quinlan
HI John,

On Thu, Dec 15, 2011 at 7:58 AM, John sc...@peoplepedia.org wrote:

 When it comes to writes I call it the times two phenomenon. I have NO
 IDEA why you can't do anything that is not 2 writes???


I'm not sure if this is what you are looking for but the translation of
high-level datastore operations into billable operations is described here:
http://code.google.com/appengine/docs/billing.html#Billable_Resource_Unit_Cost

Cheers,
Brian



 e.g.
 If you have a very simple Entity with 5 properties (none set to the NON
 default status of Unindexed) and you save it, it is 12 writes.


  Key 
 http://localhost:8080/_ah/admin/datastore?kind=Testorder=__key__Write Ops
 ID/Namehttp://localhost:8080/_ah/admin/datastore?kind=Testorder=__key__
 firstNamehttp://localhost:8080/_ah/admin/datastore?kind=Testorder=firstName
 four http://localhost:8080/_ah/admin/datastore?kind=Testorder=four
 lastNamehttp://localhost:8080/_ah/admin/datastore?kind=Testorder=lastName
 six http://localhost:8080/_ah/admin/datastore?kind=Testorder=six 
 threehttp://localhost:8080/_ah/admin/datastore?kind=Testorder=three 
 agtwaXhvdG8tbGl2ZXILCxIEVGVzdBiNAQw12141JoedoorBobsticksfree

 So you get slammed with 12 writes. Each property is 2 writes.


 Here is a PropertyLess Entity
  
 Keyhttp://localhost:8080/_ah/admin/datastore?kind=PropertyLessorder=-__key__Write
  Ops
 ID/Namehttp://localhost:8080/_ah/admin/datastore?kind=PropertyLessorder=-__key__
 agtwaXhvdG8tbGl2ZXITCxIMUHJvcGVydHlMZXNzGI4BDA 2142

 2 writes.  Who needs properties anyhow?  That would mean you could query
 on them.  Queries return results, results are reads. Reads cost money.

 Oh wait, that is what memcache is for... wait a sec, memcache took down my
 whole site Monday from MemcacheServiceExceptions


 http://code.google.com/status/appengine/detail/memcache/2011/12/12#ae-trust-detail-memcache-get-latency


 Also in my app app engine often spins up idle instances (that I cannot
 get rid of no matter what I configure) and send them exactly 1 request
 every 15 minutes so that I'm being charged the whole time for this instance
 I don't want.

 This happens to me also... Why is it if you have 6 instances, 2 of them
 get most of the requests 3 of them get none and occasionally App Engine
 will start up a 7th instance while the idle 3 still get nothing?


 Don't get me wrong. I LOVE what App Engine stands for and I have all the
 respect in the world for the App Engine team.  BUT, I have been through SO
 much grief ranging from random app engine problems to having to migrate to
 an HR datastore to dramatic increases in pricing.  When I signed up for
 this (old pricing), I thought the pricing would eventually get better
 (almost like gmail and disk space), but instead it went the opposite.  Had
 my experience been perfect here and my app had run flawlessly all this
 time, I would have had no gripes and shut up and spent the extra cash
 without blinking.  But, instead I have experienced hair loosing problems,
 massive variations in performance and got stuck with a much larger bill.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/DElz4NPSc8oJ.

 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] 40%+ increase of frontend instance hours over previous day

2011-12-14 Thread Brian Quinlan
Hi Alan,

On Wed, Dec 14, 2011 at 7:15 PM, Alan Xing alanx...@gmail.com wrote:
 Dear there,

 Our app 'snsanalytics' experienced more than 40% front end CPU hours usages
 on Dec 13, comparing to Dec 12. Our traffic level on Dec 13 is actually flat
 to less comparing to that of Dec 12. Except for the abnormal increase of
 front end CPU hours, there is no any noticeable change on other resource
 consumption like db write/read.

 There is absolutely no change from our side that can explain this increase.
 We didn't deploy any code in between. We didn't have any heavy lifting
 operations. Nothing we did is unusual comparing to previous day.

 Could any one from GAE team help explain/investigate what happened?

I took a very quick look at your application.

It looks like your datastore reads and writes did increase by about
10% between those two days. Your latency also increased for about 12
hours (without an increase in CPU usage).

It is possible that a small increase in datastore latency slowed down
your application enough that more instances were needed to service
requests. It could also be that you had some particularly long running
IO-bound tasks. But I don't have any strong evidence of either case
(the latency increase does correlate with the increase in billed
instances but I can't easily say why your latency increased).

Cheers,
Brian

 Thanks,
 Alan

 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] 40%+ increase of frontend instance hours over previous day

2011-12-14 Thread Brian Quinlan
On Thu, Dec 15, 2011 at 4:27 AM, Alan Xing alanx...@gmail.com wrote:
 Yes, we are still using the M/S datastore. We feel that we are not offering
 mission critical services. These services don't require the HRD level
 availability. HRD db read/write/store all costs more.

What do you mean? The dollar cost for HRD is the same as MS.

I know we could save
 some CPU hours by using Python 2.7 concurrency feature if we move over to
 HRD. There is loss and there is gain. Overall, we don't see our cost will
 reduce by moving M/S to HRD. That is why we are reluctant to make the move.

 I have always wondered why GAE doesn't extend Python 2.7 support to M/S. It
 doesn't seem there is any particular technical blocker. Maybe I'm wrong.

 In this random latency case, I again wonder why GAE doesn't plan to fix for
 M/S servers.

We do have a fix - the HRD :-) Seriously, to make MS more consistent
and reliable, you'd need to synchronously replicate the data across
machines and data centers and that is exactly what MRD.

Cheers,
Brian


 Is the plan to completely phase out M/S servers in some near future?

 On Wed, Dec 14, 2011 at 1:27 AM, Kenneth kennet...@aladdinschools.com
 wrote:

 Are you using the old MS datastore or the HR datastore? If you're using MS
 then pretty much anything to do with the datastore is totally random, so
 expect random latency increases which result in higher instance counts and
 thus higher cost to you, randomly of course. Google will not be fixing these
 so move to the hr datastore when you can.

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/PsCn4-PDjvUJ.

 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] 40%+ increase of frontend instance hours over previous day

2011-12-14 Thread Brian Quinlan
On Thu, Dec 15, 2011 at 8:20 AM, Alan Xing alanx...@gmail.com wrote:
 The dollar cost of HRD and MS are the same? It was a surprise for me. I
 always had the impression HRD costed way more. Now I could not find that
 document except from Google search engine snapshot. As of Dec 10, 2011, GAE
 doc still mentioned HRD uses approximately three times the storage and CPU
 cost of the master/slave option. Please see attached snapshot.

 Regardless, I'm very happy to know that HRD is not costing more than MS any
 more. I will seriously think about to migrate to HRD soon.

When HRD was launched it did cost 3x more than MS (since it costs
Google at least 3x more to do the replication). But the pricing has
later adjusted to be the same as MS.

Cheers,
Brian

 As of this moment today, we are still seeing way much higher front end
 instance hours than I would have expected before yesterday's spike. I'm not
 convinced by the explanations I have received so far. I'd think it is good
 to be transparent about pricing. Choosing a platform is a long term
 relationship, transparency can help stabilize the relationship.


 On Wed, Dec 14, 2011 at 12:14 PM, Brian Quinlan bquin...@google.com wrote:

 On Thu, Dec 15, 2011 at 4:27 AM, Alan Xing alanx...@gmail.com wrote:
  Yes, we are still using the M/S datastore. We feel that we are not
  offering
  mission critical services. These services don't require the HRD level
  availability. HRD db read/write/store all costs more.

 What do you mean? The dollar cost for HRD is the same as MS.

 I know we could save
  some CPU hours by using Python 2.7 concurrency feature if we move over
  to
  HRD. There is loss and there is gain. Overall, we don't see our cost
  will
  reduce by moving M/S to HRD. That is why we are reluctant to make the
  move.
 
  I have always wondered why GAE doesn't extend Python 2.7 support to M/S.
  It
  doesn't seem there is any particular technical blocker. Maybe I'm wrong.
 
  In this random latency case, I again wonder why GAE doesn't plan to fix
  for
  M/S servers.

 We do have a fix - the HRD :-) Seriously, to make MS more consistent
 and reliable, you'd need to synchronously replicate the data across
 machines and data centers and that is exactly what MRD.

 Cheers,
 Brian

 
  Is the plan to completely phase out M/S servers in some near future?
 
  On Wed, Dec 14, 2011 at 1:27 AM, Kenneth kennet...@aladdinschools.com
  wrote:
 
  Are you using the old MS datastore or the HR datastore? If you're using
  MS
  then pretty much anything to do with the datastore is totally random,
  so
  expect random latency increases which result in higher instance counts
  and
  thus higher cost to you, randomly of course. Google will not be fixing
  these
  so move to the hr datastore when you can.
 
  --
  You received this message because you are subscribed to the Google
  Groups
  Google App Engine group.
  To view this discussion on the web visit
  https://groups.google.com/d/msg/google-appengine/-/PsCn4-PDjvUJ.
 
  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.
 
 
  --
  You received this message because you are subscribed to the Google
  Groups
  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.

 --
 You received this message because you are subscribed to the Google Groups
 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: App Engine 1.6.1 Released!

2011-12-13 Thread Brian Quinlan
Hi Waleed,

On Wed, Dec 14, 2011 at 7:04 AM, Waleed Abdulla wal...@ninua.com wrote:
 A couple of questions:

 1. Since not all my requests are the same, I wouldn't want to use bigger
 front-end instances across the board. Are there plans to allow setting
 instance type based on app.yaml routes?

 2. Can you clarify this point? Will mapreduce not be supported on Python
 2.7?

     WARNING: Starting with the 1.6.2 release of the experimental Python 2.7
 runtime, the mapreduce and
      datastore_admin builtins will not be supported.

mapreduce will be supported before release (meaning before both Python
2.7 a mapreduce are released non-experimentally)

But it doesn't work in Python 2.7 right now.

Cheers,
Brian


 Regards,
 Waleed



 On Tue, Dec 13, 2011 at 11:46 AM, Vivek Puri v...@vivekpuri.com wrote:

 Ikai,

 Looking at my Application setting, i see that the Frontend Instance
 Class is set to F2 by default. I didnt change it to F2. However the
 docs(http://code.google.com/appengine/docs/adminconsole/
 performancesettings.html#Setting_the_Frontend_Instance_Class) say that
 F1 is default . Let me know which statement is correct.

 --
 You received this message because you are subscribed to the Google Groups
 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] DeadlineExceededError on HRD and sky-high latency (python27+threadsafe)

2011-12-06 Thread Brian Quinlan
On Tue, Dec 6, 2011 at 6:14 AM, sergio.jar...@gmail.com
sergio.jar...@gmail.com wrote:
 Hi!
 I've successfully migrated from master-slave to hdd with python 27 and
 threadsafe however I've been getting sporadically a few deadline
 exceeded errors (bellow stack trace excerpt).

 I also have configured min idle requests to automatic and maximum to 1
 and pending latency to 800ms, I've observed on occasion  latencies of
 up to 63000(!!!)ms and without app engine spinning extra instances to
 serve requests.

 Any thoughts? I can provide app-id off-list if someone from google
 wants to have a look.

You are likely encountering this issue:
http://code.google.com/p/googleappengine/issues/detail?id=6323

Could you try setting threadsafe to no and seeing if that fixes the problem?

Cheers,
Brian

 Thanks!

 File /base/python27_runtime/python27_lib/versions/1/google/appengine/
 ext/db/__init__.py, line 3588, in __get__
    instance = get(reference_id)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/ext/db/__init__.py, line 1515, in get
    return get_async(keys, **kwargs).get_result()
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/api/apiproxy_stub_map.py, line 592, in get_result
    return self.__get_result_hook(self)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/datastore/datastore_rpc.py, line 1437, in __get_hook
    entities = rpc.user_data(entities)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/api/datastore.py, line 623, in local_extra_hook
    return extra_hook(result)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/ext/db/__init__.py, line 1485, in extra_hook
    model = cls1.from_entity(entity)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/ext/db/__init__.py, line 1419, in from_entity
    return cls(None, _from_entity=entity, **entity_values)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/ext/db/__init__.py, line 1800, in __init__
    super(Expando, self).__init__(parent, key_name, _app, **kwds)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/ext/db/__init__.py, line 945, in __init__
    prop.__set__(self, value)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/ext/db/__init__.py, line 600, in __set__
    setattr(model_instance, self._attr_name(), value)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/ext/db/__init__.py, line 1826, in __setattr__
    check_reserved_word(key)
  File /base/python27_runtime/python27_lib/versions/1/google/
 appengine/ext/db/__init__.py, line 300, in check_reserved_word
    if datastore_types.RESERVED_PROPERTY_NAME.match(attr_name):
 DeadlineExceededError

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: DeadlineExceededError on HRD and sky-high latency (python27+threadsafe)

2011-12-06 Thread Brian Quinlan
Hey Andrius,

On Wed, Dec 7, 2011 at 9:14 AM, Andrius A andriu...@gmail.com wrote:
 You are not the only one, I don't like the fact that google puts a blame on
 MS, there is something wrong with GAE constantly going on and they should
 admit that and explain us in more details what's happening.

There is a known bug where the combination of Python 2.7 and enabling
concurrent requests causes large latency increases. The Python 2.7
runtime is still experimental and bugs like this are expected.

There are also known issues where accessing the MS datastore can
result in highly variable latencies and possibly errors. This is the
result of the design of the MS datastore and is why we promote
migrating to the HR datastore.

The App Engine Administration Console uses the MS datastore (for a
variety of esoteric reasons) so its latency spikes will often
correlate with MS latency spikes.

 We have a form for issue like this to be noticed, please fill in to get more
 attention:
 https://docs.google.com/spreadsheet/viewform?hl=en_USformkey=dC1DMmpPSU1WZnk0d1FMa3JmNXIwaGc6MQ#gid=0

Can I also suggest that people file bugs using the public issue tracker at:
http://code.google.com/p/googleappengine/issues ?

Also, if you are using an experimental feature, it would be great if
you do a quick search to see if the issue has already been filed and
make a note or star it yourself it is has. The more information we
have the easier it is to prioritize and fix bugs.

 I really believe into GAE and still think this is a great a platform, but it
 has issues which need be admitted and taken care of.

No one is more aware of App Engine's imperfections than the App Engine
team and we have a public issue tracker so that people can make us
aware of their particular issues and see what problems other people
are having.

Cheers,
Brian


 On 6 December 2011 17:41, Sarang sar...@mycontactid.net wrote:

 Glad to see this post as I am also suffering at the hands of GAE for the
 last month now. Every now and then DeadlineExceeded errors shoot up giving
 response times of over a minute!

 See my thread:
 https://groups.google.com/forum/?hl=en#!topic/google-appengine/NpqadsOUyZ4

 Sarang

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/-JsYHq24EyMJ.

 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: DeadlineExceeded errors haunting every now and then

2011-12-06 Thread Brian Quinlan
On Wed, Dec 7, 2011 at 10:44 AM, Andrius A andriu...@gmail.com wrote:
 In docs it says that HRD is more costly The High Replication Datastore
 costs more due to the additional replication (see billing page for pricing
 details). Due to the higher cost, we recommend High Replication Datastore
 primarily for those developers building critical App Engine applications
 that require the highest availability.

I've filed a bug against this documentation.

 It also says queries on a single guestbook to be strongly consistent, but
 also limits changes to the guestbook to 1 write per second (the supported
 limit for entity groups). Therefore, writing to a single entity group per
 guestbook is not ideal when high usage is expected. If your app is likely to
 encounter heavy write usage, consider using another means. For example, you
 can put recent posts in memcache with an expiration, and then display a mix
 of recent posts from memcache and posts retrieved from the datastore.
 How could we trust by putting data to memcache if we know it can be evicted
 any time?

You wouldn't as definitive storage but it is reasonable to cache
recent posts there.

 To use HRD is not viable for applications which need strong
 consistency for high rate of puts.

You may have to think about how your organize your data in order to
satisfy your consistency and throughput requirements but I am very
skeptical when you say that it is simply not viable.

Google, for example, has been successful using the same technology for
many of its own high-volume properties.

 At the moment MS is perfect what it does
 but bloody thing keeps dying..

That is an architectural problem that is very hard to fix with making
the same kinds of trade-offs that we made when implementing HRD .

Cheers,
Brian

 I can't believe there is no way to improve MS
 and you are switching to HRD. In long term HRD can cause more problems for
 applications parts were it wasn't aticipating to receive higher rate of
 inserts, and having a limit of 1 write per second is a disastrous.


 On 6 December 2011 23:29, Gregory D'alesandre gr...@google.com wrote:

 Hi Kenneth,

 We are planning to add blobstore migration at some point but it won't
 likely be until the middle of Q1 at the earliest.

 Greg


 On Tue, Dec 6, 2011 at 3:27 PM, Kenneth kennet...@aladdinschools.com
 wrote:

 Hi Greg,

 Can you give us some indication if the migration tool is ever going to
 include blobstore migration? That's the only thing holding me back. I know I
 can do it myself but I'd rather not. I see now that it has gone ga, have you
 stuck a fork in it and called it done?

 Thanks

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/f7KzNP-pCuwJ.
 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: DeadlineExceededError on HRD and sky-high latency (python27+threadsafe)

2011-12-06 Thread Brian Quinlan
Hi Andrius,

On Wed, Dec 7, 2011 at 11:15 AM, Andrius A andriu...@gmail.com wrote:
 Hey Brian,

 thank you for your reply. I am still on 2.5 since 2.7 is still experimental,
 and I don't really believe that MS is everything to blame, there are issues
 with requests latencies, which I have monitored and there was nothing wrong
 with datastore. I have been posting about that here and opened a ticket but
 have not received an answer unfortunately.

I couldn't see your name attached to an issue in the public issue
tracker. Could you provide a link?

 I am moaning here all the time because we shouldn't be charged so much as
 you confirmed already many times that there are issues and 2.7 is still
 faulty.
 The main point here is that we should not pay more just because GAE is now
 called production ready. I will be repeating that until you go back to
 preview release or admit that by dropping the prices or improve the
 reliability.

You can send pricing-related issues to Peter at p...@google.com.

Cheers,
Brian

 Thanks,
 Andrius


 On 6 December 2011 22:56, Brian Quinlan bquin...@google.com wrote:

 Hey Andrius,

 On Wed, Dec 7, 2011 at 9:14 AM, Andrius A andriu...@gmail.com wrote:
  You are not the only one, I don't like the fact that google puts a blame
  on
  MS, there is something wrong with GAE constantly going on and they
  should
  admit that and explain us in more details what's happening.

 There is a known bug where the combination of Python 2.7 and enabling
 concurrent requests causes large latency increases. The Python 2.7
 runtime is still experimental and bugs like this are expected.

 There are also known issues where accessing the MS datastore can
 result in highly variable latencies and possibly errors. This is the
 result of the design of the MS datastore and is why we promote
 migrating to the HR datastore.

 The App Engine Administration Console uses the MS datastore (for a
 variety of esoteric reasons) so its latency spikes will often
 correlate with MS latency spikes.

  We have a form for issue like this to be noticed, please fill in to get
  more
  attention:
 
  https://docs.google.com/spreadsheet/viewform?hl=en_USformkey=dC1DMmpPSU1WZnk0d1FMa3JmNXIwaGc6MQ#gid=0

 Can I also suggest that people file bugs using the public issue tracker
 at:
 http://code.google.com/p/googleappengine/issues ?

 Also, if you are using an experimental feature, it would be great if
 you do a quick search to see if the issue has already been filed and
 make a note or star it yourself it is has. The more information we
 have the easier it is to prioritize and fix bugs.

  I really believe into GAE and still think this is a great a platform,
  but it
  has issues which need be admitted and taken care of.

 No one is more aware of App Engine's imperfections than the App Engine
 team and we have a public issue tracker so that people can make us
 aware of their particular issues and see what problems other people
 are having.

 Cheers,
 Brian

 
  On 6 December 2011 17:41, Sarang sar...@mycontactid.net wrote:
 
  Glad to see this post as I am also suffering at the hands of GAE for
  the
  last month now. Every now and then DeadlineExceeded errors shoot up
  giving
  response times of over a minute!
 
  See my thread:
 
  https://groups.google.com/forum/?hl=en#!topic/google-appengine/NpqadsOUyZ4
 
  Sarang
 
  --
  You received this message because you are subscribed to the Google
  Groups
  Google App Engine group.
  To view this discussion on the web visit
  https://groups.google.com/d/msg/google-appengine/-/-JsYHq24EyMJ.
 
  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.
 
 
  --
  You received this message because you are subscribed to the Google
  Groups
  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.

 --
 You received this message because you are subscribed to the Google Groups
 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.


 --
 You received this message because you are subscribed to the Google Groups
 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.

-- 
You received

Re: [google-appengine] Re: DeadlineExceeded errors haunting every now and then

2011-12-06 Thread Brian Quinlan
On Wed, Dec 7, 2011 at 11:34 AM, Andrius A andriu...@gmail.com wrote:
 Hi Brian,

 just an idea, do you think you could build highly reliable simple but fast
 hash table similar to memcache but that could guarantee limited number of
 single entities permanent existence per application?

Probably not.

Highly reliable suggests that you synchronously replicate your data
across several machines and data centers (assuming that you want
consistency) but it is hard to make that fast.

Cheers,
Brian

 Having that and HRD would make things work brilliantly!


 On 7 December 2011 00:13, Brian Quinlan bquin...@google.com wrote:

 On Wed, Dec 7, 2011 at 10:44 AM, Andrius A andriu...@gmail.com wrote:
  In docs it says that HRD is more costly The High Replication Datastore
  costs more due to the additional replication (see billing page for
  pricing
  details). Due to the higher cost, we recommend High Replication
  Datastore
  primarily for those developers building critical App Engine applications
  that require the highest availability.

 I've filed a bug against this documentation.

  It also says queries on a single guestbook to be strongly consistent,
  but
  also limits changes to the guestbook to 1 write per second (the
  supported
  limit for entity groups). Therefore, writing to a single entity group
  per
  guestbook is not ideal when high usage is expected. If your app is
  likely to
  encounter heavy write usage, consider using another means. For example,
  you
  can put recent posts in memcache with an expiration, and then display a
  mix
  of recent posts from memcache and posts retrieved from the datastore.
  How could we trust by putting data to memcache if we know it can be
  evicted
  any time?

 You wouldn't as definitive storage but it is reasonable to cache
 recent posts there.

  To use HRD is not viable for applications which need strong
  consistency for high rate of puts.

 You may have to think about how your organize your data in order to
 satisfy your consistency and throughput requirements but I am very
 skeptical when you say that it is simply not viable.

 Google, for example, has been successful using the same technology for
 many of its own high-volume properties.

  At the moment MS is perfect what it does
  but bloody thing keeps dying..

 That is an architectural problem that is very hard to fix with making
 the same kinds of trade-offs that we made when implementing HRD .

 Cheers,
 Brian

  I can't believe there is no way to improve MS
  and you are switching to HRD. In long term HRD can cause more problems
  for
  applications parts were it wasn't aticipating to receive higher rate of
  inserts, and having a limit of 1 write per second is a disastrous.
 
 
  On 6 December 2011 23:29, Gregory D'alesandre gr...@google.com wrote:
 
  Hi Kenneth,
 
  We are planning to add blobstore migration at some point but it won't
  likely be until the middle of Q1 at the earliest.
 
  Greg
 
 
  On Tue, Dec 6, 2011 at 3:27 PM, Kenneth kennet...@aladdinschools.com
  wrote:
 
  Hi Greg,
 
  Can you give us some indication if the migration tool is ever going to
  include blobstore migration? That's the only thing holding me back. I
  know I
  can do it myself but I'd rather not. I see now that it has gone ga,
  have you
  stuck a fork in it and called it done?
 
  Thanks
 
  --
  You received this message because you are subscribed to the Google
  Groups
  Google App Engine group.
  To view this discussion on the web visit
  https://groups.google.com/d/msg/google-appengine/-/f7KzNP-pCuwJ.
  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.
 
 
  --
  You received this message because you are subscribed to the Google
  Groups
  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.
 
 
  --
  You received this message because you are subscribed to the Google
  Groups
  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.

 --
 You received this message because you are subscribed to the Google Groups
 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.


 --
 You received

Re: [google-appengine] Re: DeadlineExceededError on HRD and sky-high latency (python27+threadsafe)

2011-12-06 Thread Brian Quinlan
On Wed, Dec 7, 2011 at 11:48 AM, Andrius A andriu...@gmail.com wrote:

 Thanks Brian for sending this info, as it is really tricky to contact you 
 guys.


If you need technical help from the App Engine team, you should
consider a Premier Account:
http://code.google.com/appengine/docs/premier/index.html

 This is the issue I am mostly concerned:
 http://code.google.com/p/googleappengine/issues/detail?id=6309can=1q=175mscolspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log

I had a look at your issue and it isn't something that I can explain
without some significant digging.

Cheers,
Brian


 On 7 December 2011 00:24, Brian Quinlan bquin...@google.com wrote:

 Hi Andrius,

 On Wed, Dec 7, 2011 at 11:15 AM, Andrius A andriu...@gmail.com wrote:
  Hey Brian,
 
  thank you for your reply. I am still on 2.5 since 2.7 is still 
  experimental,
  and I don't really believe that MS is everything to blame, there are issues
  with requests latencies, which I have monitored and there was nothing wrong
  with datastore. I have been posting about that here and opened a ticket but
  have not received an answer unfortunately.

 I couldn't see your name attached to an issue in the public issue
 tracker. Could you provide a link?

  I am moaning here all the time because we shouldn't be charged so much as
  you confirmed already many times that there are issues and 2.7 is still
  faulty.
  The main point here is that we should not pay more just because GAE is now
  called production ready. I will be repeating that until you go back to
  preview release or admit that by dropping the prices or improve the
  reliability.

 You can send pricing-related issues to Peter at p...@google.com.

 Cheers,
 Brian

  Thanks,
  Andrius
 
 
  On 6 December 2011 22:56, Brian Quinlan bquin...@google.com wrote:
 
  Hey Andrius,
 
  On Wed, Dec 7, 2011 at 9:14 AM, Andrius A andriu...@gmail.com wrote:
   You are not the only one, I don't like the fact that google puts a blame
   on
   MS, there is something wrong with GAE constantly going on and they
   should
   admit that and explain us in more details what's happening.
 
  There is a known bug where the combination of Python 2.7 and enabling
  concurrent requests causes large latency increases. The Python 2.7
  runtime is still experimental and bugs like this are expected.
 
  There are also known issues where accessing the MS datastore can
  result in highly variable latencies and possibly errors. This is the
  result of the design of the MS datastore and is why we promote
  migrating to the HR datastore.
 
  The App Engine Administration Console uses the MS datastore (for a
  variety of esoteric reasons) so its latency spikes will often
  correlate with MS latency spikes.
 
   We have a form for issue like this to be noticed, please fill in to get
   more
   attention:
  
   https://docs.google.com/spreadsheet/viewform?hl=en_USformkey=dC1DMmpPSU1WZnk0d1FMa3JmNXIwaGc6MQ#gid=0
 
  Can I also suggest that people file bugs using the public issue tracker
  at:
  http://code.google.com/p/googleappengine/issues ?
 
  Also, if you are using an experimental feature, it would be great if
  you do a quick search to see if the issue has already been filed and
  make a note or star it yourself it is has. The more information we
  have the easier it is to prioritize and fix bugs.
 
   I really believe into GAE and still think this is a great a platform,
   but it
   has issues which need be admitted and taken care of.
 
  No one is more aware of App Engine's imperfections than the App Engine
  team and we have a public issue tracker so that people can make us
  aware of their particular issues and see what problems other people
  are having.
 
  Cheers,
  Brian
 
  
   On 6 December 2011 17:41, Sarang sar...@mycontactid.net wrote:
  
   Glad to see this post as I am also suffering at the hands of GAE for
   the
   last month now. Every now and then DeadlineExceeded errors shoot up
   giving
   response times of over a minute!
  
   See my thread:
  
   https://groups.google.com/forum/?hl=en#!topic/google-appengine/NpqadsOUyZ4
  
   Sarang
  
   --
   You received this message because you are subscribed to the Google
   Groups
   Google App Engine group.
   To view this discussion on the web visit
   https://groups.google.com/d/msg/google-appengine/-/-JsYHq24EyMJ.
  
   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.
  
  
   --
   You received this message because you are subscribed to the Google
   Groups
   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

Re: [google-appengine] Re: GAE 1.6 can not import module jinja2

2011-12-05 Thread Brian Quinlan
On Sat, Dec 3, 2011 at 2:08 PM, speg stevehiems...@gmail.com wrote:
 How are we supposed to know this?  I jumped into GAE with the 2.7
 tutorial and there was no mention of installing packages locally.  I
 thought it was all bundled in GAE.

The fact that required pure-Python modules are not packaged with the
SDK is simply a bug. Installing it yourself is the work-around.

Cheers,
Brian

 On Nov 8, 6:39 pm, Brian Quinlan bquin...@google.com wrote:
 As Matt says, you need to install jinja2 on your local Python instance.

 This will be fixed in a future release.

 Cheers,
 Brian







 On Wed, Nov 9, 2011 at 7:45 AM, NG nikolas.goe...@googlemail.com wrote:
  Same here

  --
  You received this message because you are subscribed to the Google Groups
  Google App Engine group.
  To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/BDGGzz0ahFMJ.
  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.

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: 1.6.1 Pre-release SDKs are live

2011-12-05 Thread Brian Quinlan
On Tue, Dec 6, 2011 at 6:05 PM, Westmark fredrik.westm...@gmail.com wrote:
 I would be happy if you could specify the versions of included third-
 party libraries, e.g. ndb and webapp2.

ndb is being integrated into the google namespace so it isn't really
third-party anymore. You can specify the version of other
third-party libraries.

See:
http://code.google.com/appengine/docs/python/python27/using27.html#Configuring_Libraries

Cheers,
Brian

 Cheers / Fredrik

 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Doom day

2011-12-03 Thread Brian Quinlan
Hi Brandon,

On Sat, Dec 3, 2011 at 8:11 PM, Brandon Wirtz drak...@digerat.com wrote:
 I run on 2.7. I have been rock solid and my costs are 1/10th what they are
 on 2.5

Wow, that's awesome!

 I had very few code changes other than removing CGI handlers.

Also good news.

 I would recommend 2.7 without hesitation.

 Pointing out 2 bugs that aren't well documented, and (one of which I can't
 Repo) Is more of a I'm too lazy to do the migration than a real excuse.
 If you aren't testing on 2.7 you are weeks from being deployed on it anyway,
 and are just griping. Get a test version of your app on it, find out where
 it fails and if you have bugs file them.  Don't be a wuss unless you have
 the same code snippet that is listed in a bug in your source code.  Then I
 might say you should test on 2.7 but not invest time in adapting the code
 beyond removing 2.7 incompatible code.

Both of the bugs that Alexis mentioned are significant and we can
reproduce them - though the probability of being affected by
http://code.google.com/p/googleappengine/issues/detail?id=6401 should
be pretty low.

Python 2.7 is still experimental and your good experiences aren't a
guarantee that others won't encounter serious problems.

Cheers,
Brian

 -Brandon



 -Original Message-
 From: google-appengine@googlegroups.com
 [mailto:google-appengine@googlegroups.com] On Behalf Of Alexis
 Sent: Saturday, December 03, 2011 1:02 AM
 To: Google App Engine
 Subject: [google-appengine] Re: Doom day

 We are still using Python25 too and don't feel confident moving our
 production apps to 2.7 when seeing issues like this:

 http://code.google.com/p/googleappengine/issues/detail?id=6401

 or this:

 http://code.google.com/p/googleappengine/issues/detail?id=6323

 or the one Kaan linked to...

 --
 You received this message because you are subscribed to the Google Groups
 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.


 --
 You received this message because you are subscribed to the Google Groups 
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Unhappy GAE Developers Petition

2011-11-24 Thread Brian Quinlan
Hi Andrius,

On Thu, Nov 24, 2011 at 11:40 PM, Andrius A andriu...@gmail.com wrote:
 Yes, we all do mistakes and GAE platform is great. But this thread is not
 about this discussion. So if you have any outstanding issues fill in the
 form!

 Personally I can't understand how you can be happy with price increase and
 production issues with python 2.7

As an experimental release, we were expecting significant issues with
the Python 2.7 runtime (i.e. instability, missing features,
performance problems) and I've actually been pleasantly surprised at
how few have been found (thanks to everyone for helping us test!).

Are you unhappy with Python 2.7 production issues because we didn't
adequately explain that you might experience problems when using it?
Or is there some other reason?

Cheers,
Brian

 I totally believe that for hosting just html in app engine is great but if
 you try using more apis such as backends, channels, task queues you will
 come up to lots of problems.

 On Nov 24, 2011 12:10 PM, Simon Knott knott.si...@gmail.com wrote:

 Hi,
 In my experience on the GAE forums, a lot of unhappy developers I see
 are actually the people who don't understand the GAE architecture and have
 poorly designed applications for the environment.  Their applications are
 subsequently slow and/or expensive to run, for example because they haven't
 denormalised their data structure or they've indexed every property under
 the sun, and they then lay the blame on Google.  I personally applaud the
 development team who provide adhoc support on these forums, as they have far
 more patience than I have!
 I'm not saying that there couldn't be some improvements to the support
 channels for genuine issues with the service and I would love to have a more
 tiered structure, as someone has suggested in the last day, so that smaller
 companies could get support for less money, within a larger SLA.  It will be
 interesting to see who responds to your questionnaire and the complaints
 that are aired.

 Cheers,
 Simon

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/google-appengine/-/WRUFpsUp6IcJ.
 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.

 --
 You received this message because you are subscribed to the Google Groups
 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.


-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Multithreading question

2011-11-22 Thread Brian Quinlan
Hi Richard,

On Wed, Nov 23, 2011 at 7:18 AM, Richard Arrano rickarr...@gmail.com wrote:
 Hello,
 Quick question regarding multithreading in Python 2.7:
 I have some requests that call 2-3 functions that call the memcache in
 each function. It would be possible but quite complicated to just use
 get_multi, and I was wondering if I could simply put each function
 into a thread and run the 2-3 threads to achieve some parallelism.
 Would this work or am I misunderstood about what we can and cannot do
 with regards to multithreading in 2.7?

This will certainly work put I'm not sure that it would be worth the complexity.

Fetching a value from memcache usually takes 5ms so parallelizing 3
memcache gets is going to save you ~10ms.

Cheers,
Brian

 Thanks,
 Richard

 --
 You received this message because you are subscribed to the Google Groups 
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Querying App Engine Datastore with Date WHERE clause

2011-11-22 Thread Brian Quinlan
Hi Jamil,

On Wed, Nov 23, 2011 at 8:20 AM, Jamil Rzayev jamil.rza...@gmail.com wrote:
 I need to query App Engine Datastore with date parameter in where
 clause.

 When I use App Engine Datastore Viewer and type the query like:

 Select * From Kind where date='2011-11-22' it does give me nothing.

 Could you please suggest me how to query data entities with specific
 date value in where clause?

Take a look at:
http://code.google.com/appengine/docs/python/datastore/gqlreference.html

Cheers,
Brian

 --
 You received this message because you are subscribed to the Google Groups 
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Multithreading question

2011-11-22 Thread Brian Quinlan
On Wed, Nov 23, 2011 at 8:48 AM, Richard Arrano rickarr...@gmail.com wrote:
 @Brandon:
 This is true but it just would take a lot of rewriting that may or may
 not be worth it.

 @Brian
 Thanks for the tip, I didn't even realize that(I haven't been using
 AppStats, shame on me). Would the savings be worth it, in your
 opinion, when they're not present in the cache and have to resort to 3
 gets of varying size?

Its hard to give advice on this kind of complexity vs. performance
trade-off without really understanding the application.

Datastore gets are slower than memcache gets but are still pretty quick.

Cheers,
Brian

 On Nov 22, 12:37 pm, Brian Quinlan bquin...@google.com wrote:
 Hi Richard,

 On Wed, Nov 23, 2011 at 7:18 AM, Richard Arrano rickarr...@gmail.com wrote:
  Hello,
  Quick question regarding multithreading in Python 2.7:
  I have some requests that call 2-3 functions that call the memcache in
  each function. It would be possible but quite complicated to just use
  get_multi, and I was wondering if I could simply put each function
  into a thread and run the 2-3 threads to achieve some parallelism.
  Would this work or am I misunderstood about what we can and cannot do
  with regards to multithreading in 2.7?

 This will certainly work put I'm not sure that it would be worth the 
 complexity.

 Fetching a value from memcache usually takes 5ms so parallelizing 3
 memcache gets is going to save you ~10ms.

 Cheers,
 Brian







  Thanks,
  Richard

  --
  You received this message because you are subscribed to the Google Groups 
  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 
  athttp://groups.google.com/group/google-appengine?hl=en.

 --
 You received this message because you are subscribed to the Google Groups 
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: Multithreading question

2011-11-22 Thread Brian Quinlan
On Wed, Nov 23, 2011 at 9:11 AM, Richard Arrano rickarr...@gmail.com wrote:
 I see, I'm guessing it probably isn't worth it to optimize this
 particular area but it's good to know that the multithreading ability
 would work in a more complex instance where I truly needed the
 parallelism.

 One last question on the topic, having to do with threadsafe: the
 function that I was referring to was actually a decorator that checks
 certain permissions that I insert before a large amount of handlers.
 It also stores the returned objects via self.permissions for example.
 Is there a possibility of a race condition on self.permissions or does
 it function in such a manner that this is impossible?

If you are using webapp2 then a new handler instance is created for
every request.

Cheers,
Brian

 Thanks,
 Richard

 On Nov 22, 1:56 pm, Brian Quinlan bquin...@google.com wrote:
 On Wed, Nov 23, 2011 at 8:48 AM, Richard Arrano rickarr...@gmail.com wrote:
  @Brandon:
  This is true but it just would take a lot of rewriting that may or may
  not be worth it.

  @Brian
  Thanks for the tip, I didn't even realize that(I haven't been using
  AppStats, shame on me). Would the savings be worth it, in your
  opinion, when they're not present in the cache and have to resort to 3
  gets of varying size?

 Its hard to give advice on this kind of complexity vs. performance
 trade-off without really understanding the application.

 Datastore gets are slower than memcache gets but are still pretty quick.

 Cheers,
 Brian







  On Nov 22, 12:37 pm, Brian Quinlan bquin...@google.com wrote:
  Hi Richard,

  On Wed, Nov 23, 2011 at 7:18 AM, Richard Arrano rickarr...@gmail.com 
  wrote:
   Hello,
   Quick question regarding multithreading in Python 2.7:
   I have some requests that call 2-3 functions that call the memcache in
   each function. It would be possible but quite complicated to just use
   get_multi, and I was wondering if I could simply put each function
   into a thread and run the 2-3 threads to achieve some parallelism.
   Would this work or am I misunderstood about what we can and cannot do
   with regards to multithreading in 2.7?

  This will certainly work put I'm not sure that it would be worth the 
  complexity.

  Fetching a value from memcache usually takes 5ms so parallelizing 3
  memcache gets is going to save you ~10ms.

  Cheers,
  Brian

   Thanks,
   Richard

   --
   You received this message because you are subscribed to the Google 
   Groups 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 
   athttp://groups.google.com/group/google-appengine?hl=en.

  --
  You received this message because you are subscribed to the Google Groups 
  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 
  athttp://groups.google.com/group/google-appengine?hl=en.

 --
 You received this message because you are subscribed to the Google Groups 
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



  1   2   >