dpqy77560 2016-07-04 07:15
浏览 37
已采纳

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

I want to set global variable, for example:

var DEBUG_MODE bool

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

How to do this?

  • 写回答

1条回答 默认 最新

  • douwojiao5919 2016-07-04 09:55
    关注

    Easiest is to use use appengine.IsDevAppServer() to tell if your app is running in development mode (using the AppEngine SDK) or live (in production):

    func IsDevAppServer() bool
    

    IsDevAppServer reports whether the App Engine app is running in the development App Server.

    Alternatively you can also use appengine.ServerSoftware() which contains this information along with your App version, merged into one string:

    func ServerSoftware() string
    

    ServerSoftware returns the App Engine release version. In production, it looks like "Google App Engine/X.Y.Z". In the development appserver, it looks like "Development/X.Y".

    So for example what you want to do:

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

    Or in one line:

    var DEBUG_MODE = appengine.IsDevAppServer()
    

    Although note that you could just call appengine.IsDevAppServer() whenever you would refer to DEBUG_MODE. Also the name DEBUG_MODE does not conform to Go naming conventions, it should either be DebugMode if it needs to be exported (because you want to access it from other packages too), or it should be debugMode if it doesn't need to be exported.

    See this related question (possible duplicate?): How to set variables based on project id?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何用python处理excel的数据(极值标准化)
  • ¥15 三向应力状态求剪应力
  • ¥15 jupyter notebook如何添加libGL.so.1库
  • ¥20 easyPoi能否实现下拉多选或者复选框
  • ¥15 网桥在转发帧时,会变帧的源地址和目的地址吗?
  • ¥15 用Multisim设计汽车尾灯控制电路
  • ¥100 求用matlab求解上述微分方程的程序代码
  • ¥15 MAC安装佳能LBP2900驱动的网盘提取码
  • ¥400 微信停车小程序谁懂的来
  • ¥15 ATAC测序到底用什么peak文件做Diffbind差异分析