2012-07-13 54 views
0

(如果這不是這麼一個問題,我會很樂意被移至別處)谷歌的App Engine動態後端不會停止

我有,我想:用cron定期啓動一個GAE後端。隨着從SO其他問題的幫助下,我成立了backends.xml這樣

<?xml version="1.0" encoding="UTF-8"?> 
<backends> 
<backend name="myBackend"> 
    <class>B1</class> 
    <instances>1</instances> 
<options> 
    <dynamic>true</dynamic> 
    </options> 
</backend> 
</backends> 

和我cron.xml這樣

<?xml version="1.0" encoding="UTF-8"?> 
<cronentries> 
    <cron> 
    <url>/doHardStuff</url> 
    <description>doing long running stuff</description> 
    <schedule>every 3 hours</schedule> 
    <target>myBackend</target> 
    </cron> 
</cronentries> 

,我又把它使用mvn-gae上傳(我寫的一切java with maven)目標gae:deploy gae:backends-list gae:backends-update

一切正常,長時間運行的東西完成,然而但是。即使在完成所有工作之後,動態後端仍然運行,並且消耗我每天的後端配額。在servlet完成其作業後,我可以在日誌中看到_ah/stop請求;但是後端仍然運行。

如果我在主引擎Web控制檯手動停止它 - >後端 - >啓動/停止,停止吃我的配額,但是,它將在cron和cron的一個給定的時間不運行工作將失敗。

我該怎麼辦?我希望後端在給定時間啓動和停止當請求結束,設備閒置。我不希望它在不同的時間運行。

回答

1

它的工作,因爲它是應該。動態後端始終在儀表板的後端選項卡中「啓動」,這意味着它們可以獲取請求並在需要時啓動實例。這不會消耗任何配額。

當後端得到一個請求時,它開始使用/_ah/start/一個實例,消耗定額。當它沒有任何請求服務幾分鐘時,它將通過/_ah/stop/請求停止實例。

要弄清楚,如果後端實例仍在運行,切換到實例選項卡,選擇後端「版本」。

注意動態後端有15分鐘車配額點球,這可能是爲什麼在配額使用情況高於預期。

對於動態後端,計費在最後一個 請求處理完成後15分鐘結束。

http://developers.google.com/appengine/docs/python/backends/overview#Billing_Quotas_and_Limits

+0

是的,我已經錯過了這一部分。就是這樣。 – 2012-07-13 20:16:44

1

這似乎是他們花15分鐘停止,根據網上的一些網頁。

這似乎是可能的,我會嘗試。