Google App Engine灵活环境中的多个NodeJS服务/模块

Ala*_*lan 3 google-app-engine node.js firebase firebase-queue app-engine-flexible

我正在努力弄清楚如何灵活地在谷歌应用引擎上部署多个nodejs服务.

我正在使用多个带有firebase-queue的nodejs类来处理我的任务.现在,我正在使用我的package.json来触发一次启动所有内容.然而,这已经成为问题.我希望能够将更改推送到一个特定的服务/脚本,而不必停止所有其他脚本.

我的package.json目前看起来像这样:

"scripts": {
    "task1": "node ./src/task1.js",
    "task2": "node ./src/task2.js",
    "start": "npm-run-all -p task1 task2"
}
Run Code Online (Sandbox Code Playgroud)

我正在使用不同的.yaml文件来确定我想推送哪个构建变体(调试或发布),但我发现很难单独部署每个任务.我在python中找到了关于如何这样做的文档,但在nodejs上没有.有没有人有什么建议?

Ala*_*lan 5

(回答我自己的问题,非常感谢Justin的帮助)

我特意遇到动态更改脚本以在package.json中启动的问题.我发现package.json可以使用' $ ' 访问环境变量

的package.json:

"scripts": {
    "start": "node $SCRIPT_TO_RUN"
}
Run Code Online (Sandbox Code Playgroud)

myService.yaml

runtime: nodejs
vm: true
api_version: 1
instance_class: B4
manual_scaling:
  instances: 1
service: cart-monitor-dev

env_variables:
  SCRIPT_TO_RUN: './src/mytask.js'
Run Code Online (Sandbox Code Playgroud)

然后部署使用:

gcloud app deploy myService.yaml
Run Code Online (Sandbox Code Playgroud)