当前位置: 首页 > 面试题库 >

如何在Google AppEngine上区分本地部署和实时部署

羊舌富
2023-03-14
问题内容

我想设置全局变量,例如:

var DEBUG_MODE bool

func init() {
  // set DEBUG_MODE true if localhost (not appspot.com or other domain)
}

这该怎么做?


问题答案:

最简单的方法是使用appengine.IsDevAppServer()来告诉您的应用程序是在开发模式下运行(使用AppEngine
SDK)还是在现场(正在生产中)运行:

func IsDevAppServer() bool

IsDevAppServer报告App Engine应用程序是否在开发App Server中运行。

另外,您也可以使用appengine.ServerSoftware()其中包含此信息以及您的App版本的信息,并合并为一个字符串:

func ServerSoftware() string

ServerSoftware返回App Engine发行版本。在生产中,它看起来像“ Google App Engine /
XYZ”。在开发应用程序服务器中,它看起来像“ Development / XY”。

因此,例如,您想做什么:

var DEBUG_MODE bool

func init() {
    DEBUG_MODE = appengine.IsDevAppServer()
}

或一行:

var DEBUG_MODE = appengine.IsDevAppServer()

尽管请注意,appengine.IsDevAppServer()只要您可以参考,就可以打电话DEBUG_MODE。同样,该名称DEBUG_MODE不符合Go命名约定,应该是DebugMode是否需要导出(因为您也想从其他包中访问它),或者应该是debugMode不需要导出的名称。



 类似资料:
  • 我决定在OSGI和Karaf之上构建一个应用程序--我真的很喜欢这个东西。然而,我在本地开发机器上的日常部署有点吃力。我是说..我做了一个更改,然后我想在我的本地Karaf实例上测试它。每小时可能发生几次。 我现在做的方式是一个maven构建,它创建一个JAR包,然后将其复制到Karaf的deploy目录中。我认为这一点也不高雅。 我想找到一个绕过(谷歌)的方法。我读过关于Karaf的特性,但看起

  • 提示 GatewayWorker提供的所有接口都是支持分布式调用的,所以业务代码不需要任何更改,直接就可以分布式部署。 如何分布式GatewayWorker GatewayWorker通过Register服务来建立划分集群。同一集群使用相同的Register服务ip和端口,即Gateway 和 businessWorker的注册服务地址($gateway->registerAddress $bus

  • 下午好啊 我是Spring和Spring Boot的新手,通常使用EclipseIDE和JSF。我在一个项目中工作,该项目在前端使用Angular,在后端使用Spring Boot。我有下面的Maven结构 前端生成一个webjar,它使用前端Maven插件构建Angular应用程序,后端依赖于这个webjar。后端pom。xml具有以下配置: 我不想使用嵌入式Tomcat服务器。在Intelli

  • AWS中国地区和AWS美国地区存在一个系统的两个服务。 根据这个链接: 将AWS弹性豆茎部署到不同区域的环境中 我尝试在中国的AWS beanstalk实例上部署美国的AWS beanstalk实例。 我知道中国的aws_access_key_id和aws_secret_access_id不同于美国的aws_access_key_id和aws_secret_access_key。 因此,我修改了两

  • 在这几周的 Serverless 应用开发里,我觉得最大的不便就是,缺少一个本地的调试环境。在这种时候,我们需要不断地部署我们的代码,不断地在我们的代码里写上几行 console.log,然后在一切正常之后,再把这些 console.log 删除。 可要是,突然间又出现了一个 bug,我仿佛看到了我们又要重来一遍。 就这样经历了几次之后,我便想尝试一些新的手段,比如 serverless-offl

  • 我正在开发一个基于nodejs和postgresql的corona病毒项目。我正在尝试在heroku上部署我的应用程序,但我遇到了一些问题。这些问题来自postgres配置(我认为)。 我有一个. env文件,其中我初始化了一些变量(DATABASE_URL,...),但我不知道如何将它们传输到heroku。我关联了一个插件postgres-heroku,它会生成一个具有随机值的DATABASE_