Hi You should never depend on any specific instance hanging around just the same as you cannot depend on anything in memcache hanging around.
Rgds T On Feb 13, 12:29 pm, Charles <char...@whoischarles.com> wrote: > Hi Brandon, > > Thanks for the reply. Just from a bit more research, this seems to be > related to loading requests (http://code.google.com/appengine/kb/ > java.html#What_Is_A_Loading_Request) and their frequency. From the > FAQ, it seems like with apps with minimal traffic, or test traffic, > VMs seem to be recycled during inactivity. When subsequent requests > hit your app after your VM has been handed off, GAE has to spin up a > new JVM (a loading request) which re-initializes the entire context > (and also eats up significant CPU time). Anyways, kinda sucks that > this is how it works, but I can understand why they'd want to do > that. And, this only really affects apps in testing or production > apps with little traffic. When we get real traffic, *hopefully* this > becomes a non-issue. > > Also, it looks like they're playing around with the idea of being able > to pay to reserve a dedicated JVM (http://code.google.com/appengine/kb/ > java.html#Can_I_Pay_To_Reserve_My_JVM). This would be a good solution > as well. > > Charles > > On Feb 12, 12:31 pm, Brandon Thomson <gra...@gmail.com> wrote: > > > Charles, the app instance can be unloaded at any time and a new one > > will initialize to handle the next incoming request. there can be up > > to 30 at once. it is by design, not an error. > > > On Feb 12, 12:20 am, Charles <char...@whoischarles.com> wrote: > > > > Hi all, > > > > I've created a very simple application as a test for a bigger > > > application I'm thinking of building on GAE. Right now, it mostly > > > contains only two servlets and a single cron job. One servlet is > > > loaded on init (and logs an init message), and the other one is called > > > every minute by the cron job (and also logs a message). My issue is > > > that I'm watching the logs and I'm noticing that my applications > > > context is reloaded after an arbitrary amount of time. To be more > > > precise, here is an example of what I'd see in the logs... > > > > [INFO] Application initializing... > > > [INFO] Servlet called 1 times. > > > [INFO] Servlet called 2 times. > > > [INFO] Servlet called 3 times. > > > ... > > > [INFO] Servlet called 79 times. > > > [INFO] Servlet called 80 times. > > > [INFO] Application initializing... > > > [INFO] Servlet called 1 times. > > > [INFO] Servlet called 2 times. > > > > So, as you can see, the application starts and the init servlet is > > > loaded (as expected) and I get the "Application initializing" info log > > > message. After that, cron calls the other servlet every minute, and > > > it posts another log message. However, after a seemingly random > > > amount of time, in this case 80 minutes, the application context > > > reloads which makes me assume that my entire application restarted. > > > It happens at different intervals each time, anywhere from half an > > > hour to a few hours. And, I never get any error messages in my log. > > > Can someone help me understand this? > > > > Thanks in advance > > > > Charles -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appeng...@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.