有没有办法在本地运行我的nodejs应用程序,以便我可以模拟在生产App Engine中运行的应用程序而无需部署它?出于某种原因,我的应用在Google App Engine中的行为与我的本地主机相比有所不同。
每次我进行更改时,我都厌倦了将应用程序部署到Google App Engine,以确定是否存在错误。
答案 0 :(得分:0)
您永远不会在本地系统和真正的GAE基础架构上完全完全相同的行为。仅仅因为您运行的基础架构不同:操作系统,硬件和网络性能/功能,您的应用可能正在使用的实际与SDK模拟的Google API和服务的性能/功能,时序等。
一些例子(它们来自标准环境GAE,它是真的,但它基本上是相同的想法):
你应该调查这些差异 - 你非常欢迎在这里提出关于他们每个人的问题。
一般来说,您会发现差异分为两类:
预期会出现明显的性能差异,但它们可能会发现代码中的实际问题:竞争条件,错误的时间假设等等
功能差异 - 查找要在GAE上而不是在本地执行测试的一般区域。
例如,我学到了(艰难的方式)SDK数据存储模拟器没有模拟来自真实数据存储区的争用逻辑 - 而本地我的应用程序运行良好,在GAE上由于争用而惨遭爬行,我不得不重写一大部分逻辑来解决它。请参阅Contention problems in Google App Engine