如何在多个 App Engine 模块之间共享元数据?
How can I share meta data among multiple App Engine modules?
我正在将单模块应用程序迁移到多模块应用程序。作为部署过程的一部分,我设置了一个环境变量来保存当前的 QA 环境:'dev'、'stage' 或 'test'.
部署我的旧 'default' 模块时,它能够读取此环境变量。但是,可以理解的是,新模块 'background' 无法访问此环境变量,因为它处于单独的进程中。
是否有一种简单的方法可以在应用程序内跨模块共享信息,或者我是否坚持为每个模块编写 app.yaml 文件乘以 QA 环境的数量?
你必须为每个模块编写一个 .yaml
文件,无论如何 - 这就是使它成为一个模块的原因:)
但是,一般来说,您可以 re-use 多个模块中的文件 symlink-ing 将其放入相应的模块中(我个人更喜欢将实际的 version-controlled 文件放在应用程序的目录,在特定模块目录之外)。
根据您实施 metadata/environment 传递给您的具体方式 可能 能够使用较小的 cross-module 共享文件来补充 module-specific .yaml
文件(只有一些 app.yaml
指令可以像这样共享,不过)。
例如,请参阅此问答,重点关注 skip_files
指令的 re-using:
我正在将单模块应用程序迁移到多模块应用程序。作为部署过程的一部分,我设置了一个环境变量来保存当前的 QA 环境:'dev'、'stage' 或 'test'.
部署我的旧 'default' 模块时,它能够读取此环境变量。但是,可以理解的是,新模块 'background' 无法访问此环境变量,因为它处于单独的进程中。
是否有一种简单的方法可以在应用程序内跨模块共享信息,或者我是否坚持为每个模块编写 app.yaml 文件乘以 QA 环境的数量?
你必须为每个模块编写一个 .yaml
文件,无论如何 - 这就是使它成为一个模块的原因:)
但是,一般来说,您可以 re-use 多个模块中的文件 symlink-ing 将其放入相应的模块中(我个人更喜欢将实际的 version-controlled 文件放在应用程序的目录,在特定模块目录之外)。
根据您实施 metadata/environment 传递给您的具体方式 可能 能够使用较小的 cross-module 共享文件来补充 module-specific .yaml
文件(只有一些 app.yaml
指令可以像这样共享,不过)。
例如,请参阅此问答,重点关注 skip_files
指令的 re-using: