That's a really intriguing solution, cz.  It also seems like you could
mix different supported languages (e.g. Java if/when it's supported)
through the versions mechanism since the language is specified via the
'runtime' keyword in app.yaml.  Both java and python versions could
access the datastore, and cron is on the roadmap.
-Bill

On Mar 27, 1:19 pm, cz <czer...@gmail.com> wrote:
> The problem with the app.yaml solution is that only the handler that
> has a main() will be cached (I assume that the app cache expects just
> one main() per app). It would be possible to perform a dispatch in main
> () to different handlers but it gets a little more messy since you
> would have to do this before referencing or loading any frameworks
> (unless the handlers all share the same framework in which case this
> discussion is moot).
> From what I understand, versions can have arbitrary names (not just
> numbers) so versions are, in a sense, just different apps that share
> quotas and datastore. Only the default can be associated with a Google
> app domain though. Otherwise the version name is basically another
> kind of app name, which makes it possible to have multiple main()'s
> and a mix of frameworks that can be optimized for certain kinds of
> requests. It also makes the code a little more straightforward...
> - Claude
>
> On Mar 26, 11:46 pm, Robert <rjaa...@gmail.com> wrote:
>
> > Hi,
>
> > you could also in your app.yaml simply define a dedicated/different
> > handler for e.g. those images as they presumably are all under another
> > URL. Then you don't need to think/worry so much about different
> > versions.
>
> > Just my 2cts.
>
> > Robert
>
> > On Mar 27, 12:50 am, "Tom M." <thomasfmc...@gmail.com> wrote:
>
> > > A very clever solution.
>
> > > On Mar 26, 6:31 pm, cz <czer...@gmail.com> wrote:
>
> > > > Awesome, thanks Jeff. I think doing it this way would make my app use
> > > > less resources in general which is good for everybody.
> > > > - Claude
>
> > > > On Mar 26, 2:25 pm, Jeff S <j...@google.com> wrote:
>
> > > > > Hi Claude,
>
> > > > > On Mar 25, 8:27 pm, cz <czer...@gmail.com> wrote:
>
> > > > > > The reason I ask this is for the following scenario:
> > > > > > My main app uses Django 1.x and has fairly low, but quite useful ;),
> > > > > > traffic thus often requiring a cold start. It incurs significant
> > > > > > startup time and so the initial requests are quite slow. The pages
> > > > > > also contain lots of images uploaded by users which in turn are
> > > > > > initially very slow to serve up.
> > > > > > What I'd like to do is use a lighter weight framework just to serve
> > > > > > images and other pseudo-static content. It would be fairly
> > > > > > straightforward to simply create a special version of the app that
> > > > > > when installed has direct access to the same datastore and can be 
> > > > > > very
> > > > > > fast. This wouldn't ever be set as the default version of course, 
> > > > > > but
> > > > > > would still be 'a part of' the default app and it would be using the
> > > > > > same quota bank and hopefully wouldn't be a violation of the TOS.
> > > > > > Anways, after reading the TOS I couldn't find an answer to this.
>
> > > > > > So, in case none of this makes much sense the gist of the question 
> > > > > > is
> > > > > > can I have two versions of the app live at the same time (only one
> > > > > > being the default)?
> > > > > > Say my app id is 'foo'. I upload 'foo' version 5 and then I also
> > > > > > upload a 'foo' version 6 with a different main.py and code that is
> > > > > > optimized for a specific kind of content (eg. images, no templates).
> > > > > > Version 5 is set as the default but generates pages with image urls
> > > > > > that point to version 6.
>
> > > > > This would be fine since you are talking about using two versions
> > > > > under the same app ID. Quotas are applied based on the app ID (not
> > > > > further down on the version level), so sending traffic to multiple
> > > > > versions would be pulling from the same quota pool.
>
> > > > > Good question,
>
> > > > > Jeff
>
> > > > > > Can I do this under the TOS and still be a good GAE citizen?
>
> > > > > > thanks,
> > > > > > - Claude
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to