2011-03-05 46 views
2

在Python Google App Engine環境中,我有一些應該最終保存的高度不穩定的數據。我會將它存儲在一個實例的全局變量中,但我需要注意一下實例正在關閉以便我可以寫出來。當GAE實例即將終止時是否有通知?

有沒有這樣的回調或安裝掛鉤的地方?

(內存緩存是一種選擇,但我並不需要實例之間一致性的開銷,同時也分享消失無預警的問題)

(關於使用全局變量一個可以讀取約Cachepy谷歌食譜。)

回答

2

你可能想看看gae-sessions如何工作。它將會話中間件添加到wsgi應用程序,以便數據在每個請求結束時保留。

你可以給一個惟一的ID,當它啓動時,總​​是揮發數據寫入到實體,與獨特的ID作爲鍵名,在每次請求結束。你最終會做更多的寫操作,但是你永遠不會丟失數據到崩潰或終止的實例。你永遠不需要將數據讀入實例,因爲它會持續實例的一生(我認爲)。

+0

這真的有無關的會議,這是面向用戶的。你的建議等同於將數據存儲在數據存儲中。 – 2011-03-07 23:54:01

+0

我只是指的GAE會話作爲在請求結束寫入數據的代碼的例子。由於在實例死亡時沒有通知,所以最好的解決方案是始終在請求結束時寫入實例的數據。 – Calvin 2011-03-08 07:38:53

1

GAE爲此提供關閉處理程序。看一看這部分here(在這種情況下圍棋)

相關問題