Dont you get one instance (well two until multi-threading) free? - so you can have a dynamic instance always loaded. (ie you get 24 instance hours free a day)
So providing what you want can be served by this instance, you dont have any (instance) changes. As for saving the file, you could put it in the blobstore. The handler to serves the send_blob should be very quick and not tie up the instance for long. Or Google Storage for developers (G's answer to S3) - that avoids the instance totally. You might have to optimize the code around user-interaction requests, to make sure again they stay on the single instance. But set a high minimum latency, and that shouldnt be an issue (or i've missed something) On Fri, Sep 2, 2011 at 3:47 PM, Joshua Smith <[email protected]> wrote: > Here's my situation: > > - I'm running an app as a public service, and I'd rather not have to charge > for it. Our google overlords have not given me any way to duck the new > pricing for my do-gooder app, so I'm looking to game the system if I can. :) > > - My app is used infrequently by humans, in short bursts. Normal use would > probably stay under the new free quotas, because the instance-alive-time x > number-of-bursts-per-day < 24 hours. > > - There are kiosks which show information from my app. The kiosk gets a > dynamic HTML page in one go, the page includes many DIVs to display to the > user over the course of 4-5 minutes or so. When it's gotten through all the > DIVs, it refreshes from the server, to pick up any new updates. > > In the old pricing model, this wasn't a problem. But in the new model, the > kiosk "heartbeats" are keeping an instance alive. That burns up my free > quota. > > When a human uses the app to browse or update data, I have to pay for it 100% > of the time. > > So I'm wondering if anyone here has an idea of a different way to deal with > the Kiosks, to allow my instances to go away completely between human > interactions. > > One idea I had was that when a user interaction happened, I could compute the > Kiosk page and push it someplace. I can't push it to the Kiosk itself, of > course, so I'd have to push it someplace that the Kiosk could hit it without > spinning up a new instance in GAE. GAE has an edge cache, but I don't think > there's any way for me to prime that. I could push to a different GAE app > that just handles the Kiosks, but that sounds like willfully creating > multiple apps to avoid quota charges, which is verboten. > > I could push it to Amazon S3. That's not awful, and I've certainly done > hybrid GAE/AWS apps before. But a two cloud solution is certainly not my > first choice on the complexity front. > > A half-assed solution would be just to have the Kiosk go through the DIVs > several times before refreshing. That's not a horrible solution, but I'm > hoping some clever developer here has a better idea… > > Thoughts? > > -Joshua > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
