... and to clarify, by "fixed" in the docs I mean that it should be 
mentioned there. The behaviour makes sense - the reason is that each 
background thread actually enqueues a long-running request not governed by 
the same execution timeline as a normal request. When it finally 
terminates, you'll see that it leaves a log line with a timestamp of its 
*termination, 
*however the milliseconds spent on the request will show its actual 
duration, which should be subtracted from the time of the log line to 
determine when the process started. Since this request (to /_ah/background) 
is "being handled" and "has not returned yet", the instance stays up.
 
On Wednesday, December 9, 2015 at 7:23:46 PM UTC-5, Nick (Cloud Platform 
Support) wrote:
>
> Hey Erik,
>
> Yes, background threads yet to terminate will cause the instance to remain 
> standing, regardless of the idle timeout. I've just submitted a docs 
> feedback which will hopefully see this fixed shortly in the "Modules in 
> Python" docs page. You can, as Christian suggests, use the modules controls 
> to manually turn-down an instance. I'm curious which Firebase library 
> you're using, by the way, and how it uses background threads?
>
> On Wednesday, December 9, 2015 at 4:17:16 AM UTC-5, Erik Kuefler wrote:
>>
>> The description of basic scaling 
>> <https://cloud.google.com/appengine/docs/java/modules/#Java_Instance_scaling_and_class>
>>  
>> is a little vague about the exact conditions that cause an instance created 
>> with basic scaling to be shut down. It says an instance is evicted when it 
>> "has not received a request for more than `idle-timeout`", but it's not 
>> clear to me whether this includes background threads and the 
>> "/_ah/background" request that they generate.
>>
>> My problem is that my machines are staying alive longer than I expect 
>> them to and I suspect a background thread might be the culprit. I'm using a 
>> library (Firebase) that creates background threads but provides no way of 
>> shutting them down. Will this cause my machines to never be evicted? If so, 
>> is there a way for me to either forcibly terminate all background threads, 
>> or to shut down the instance from my own background thread (so I can 
>> implement my own idle timeout)?
>>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/4224a304-d2fd-45bc-a290-b6aca7ca1e40%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to