有没有办法直接向该服务器发送请求?如何获取应用引擎前端服务器的实例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