有沒有辦法直接向該服務器發送請求?如何獲取應用引擎前端服務器的實例ID?
回答
爲了什麼目的?
如果你想測試不同的版本,你可以使用流量拆分https://developers.google.com/appengine/docs/adminconsole/trafficsplitting
也就是說不同的版本,雖然,而不是一個具體的實例。
不,沒有。
通常當有人問到這樣的事情時,他們在應用引擎上朝着錯誤的方向前進。前端服務器始終處於啓動和關閉狀態。如果你正在設計任何依賴於特定實例的東西,那麼你做錯了。無論他們遇到什麼樣的情況,您都需要設計出可以工作的請求。
如果您必須這麼做,請考慮使用後端。
這並不意味着這個功能沒有合法的用法。如果我想爲特定實例發送特定命令(如清除內存中的緩存),這會很有用。我在[這裏](http://code.google.com/p/googleappengine/issues/detail?id=8031)中爲此打開了一項功能請求。 – 2012-08-29 05:42:54
我使用Python和日期時間標記來標識實例。這個實例ID由appengine_config.py設置。爲了告知其他實例,我在memcache中使用了一個標誌,這由我的webapp2請求處理程序的__init__
進行檢查。 我使用其他實例的信號來刷新jinja環境並重新加載動態python代碼,因爲我找不到其他方法。
這是一個memcache標誌的例子;信令來重新加載所有動態模塊,其已被設定的實例ID:「2012-12-26 16:39:50.072000」
{ u'_all': { u'dyn_reloads_dt': datetime.datetime(2012, 12, 26, 16, 39, 59, 120000),
u'setter_instance': '2012-12-26 16:39:50.072000'}}
我從出演feature request:易卜拉欣阿里耶夫
其實有一種方式,它可以將新數據推送到應用程序的所有實例。
from google.appengine.api import modules
instance_id = modules.get_current_instance_id()
隨着Modules來臨,就可以得到當前實例ID在a more elegant way:
ModulesServiceFactory.getModulesService().getCurrentInstanceId()
另外,根據this doc,您可以將請求路由專爲特殊情況下通過使用URL如
http://instance.version.module.app-id.appspot.com
請注意,你需要-dot-
更換點來抑制SSL證書警告你的Web客戶端可能會抱怨:
http://instance-dot-version-dot-module-dot-app-id.appspot.com
- 1. 如何獲取服務的實例?
- 2. 獲取Jersey服務器的ResourceConfig實例
- 3. 如何獲取服務實例的端點uri?
- 4. 測試客戶端/服務器與應用引擎的交互
- 5. NodeJS:如何獲取服務器端口?
- 6. 如何在服務器端獲取window.location.hash?
- 7. 如何獲取本地運行neo4j服務器的GraphDatabaseService實例
- 8. 如何在服務器端獲取當前時間?
- 9. 如何在服務器端使用php實例化Nusoap的ComplexType?
- 10. 如何從谷歌計算引擎實例訪問谷歌容器引擎中的服務
- 11. CAB:獲取服務實例,但沒有對WorkItem的引用
- 12. 如何與Java檢索當前服務器端的日期時間在谷歌應用程序引擎
- 13. 如何從引用實體獲取引用實體Id?
- 14. 如何在Google應用引擎上計算前端實例小時數。我們如何才能減少前端實例小時數JAVA
- 15. 如何獲取Backbone.Collection.remove從服務器中刪除實例?
- 16. 如何獲取當前的NHibernate.Cfg.Configuration實例
- 17. 獲取nsstring的實例ID
- 18. 如何在Liferay中獲取實例ID
- 19. 客戶端和服務器端規則引擎?
- 20. 使用無服務器來獲取實例的狀態
- 21. 如何從服務器端(谷歌應用程序引擎,雲端點)的信息,我的客戶送?
- 22. 通過應用引擎端點API服務blobstore圖像
- 23. 從應用程序引擎端點服務blob
- 24. 如何從AppDomain獲取當前實例?
- 25. React/Relay服務器端渲染和搜索引擎友好的應用程序
- 26. InvalidQueueModeException而在應用服務引擎
- 27. 使用Angular4作爲服務器端渲染引擎
- 28. 在Rails應用程序中分離後端服務器和前端服務器?
- 29. 如何從服務器端的獲取請求中訪問Backbone模型ID
- 30. 如何在使用WCF時在服務器端獲取當前ServiceSecurityContext?
我想看看是否有可能實現長輪詢服務。像服務聊天。我需要知道客戶端連接了什麼實例,以便我可以通知該實例。 – Trung 2012-07-31 05:18:47
請參閱https://developers.google.com/appengine/docs/java/channel/。一般來說,在更新無法預測或編寫腳本的情況下,比如在人類用戶之間傳遞信息或系統地生成事件時,使用Channel API是比輪詢更好的選擇。 – user1258245 2012-07-31 05:21:12
謝謝。似乎是一個好的解決方案。但它的開銷爲1/10,000美元。需要做一些數學計算,看看這是否是一個可行的選擇。 – Trung 2012-07-31 05:48:17