在我的應用程序(Google App Engine標準Python 2.7)中,我在實例啓動時初始化了全局變量中的一些標誌(從memcache/Datastore讀取值)在第一個請求)。這些變量值不會經常變化,每月只發生一次或發生緊急情況時(例如,當谷歌應用程序引擎Taskqueue或Memcache服務運行不正常時,發生的情況每年不會超過GC狀態報告的一年兩次,但會嚴重影響我的應用程序和我的客戶:https://status.cloud.google.com/incident/appengine/15024https://status.cloud.google.com/incident/appengine/17003)。GAE關閉或重新啓動服務/應用程序的所有活動實例
我不想將這些標誌存儲在memcache或Datastore中以提高效率和成本。
我正在尋找一種方式來發送消息給所有實例(見我以前的帖子GAE send requests to all active instances):
正如https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed
注說:瞄準一個實例中服務不支持配置爲自動縮放或基本縮放。實例ID必須是0範圍內的整數,直到運行的實例總數。無論您的縮放類型或實例類如何,都無法將請求發送到特定實例,而無需在該實例中定位服務或版本。
但另一種解決方案可以是:
1)發送一個關閉消息/命令到我的應用程序或服務
2)的所有實例發送重啓消息/命令的所有實例我應用程序或服務
我只使用自動縮放,所以我不能發送針對特定實例的請求(我可以使用GAE管理API獲取活動實例的列表)。
有沒有辦法在Python GAE中以編程方式執行此操作?手動在GCP控制檯中很容易有幾個實例,但對於50多個實例,這是一個痛苦...