问题标签 [google-appengine-node]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1054 浏览

google-app-engine - 之前工作后纱线安装失败

就在昨天,我在尝试将我的应用部署到 App Engine 时开始收到此错误。还有其他人遇到这种情况吗?这是昨天的工作。可能与此有关https://github.com/yarnpkg/yarn/issues/3277

0 投票
0 回答
375 浏览

node.js - Node Google App Engine is not working 错误:服务器错误请在 30 秒后重试

我在谷歌应用引擎上的节点应用运行良好,然后突然在另一个部署之后,它开始带来这个错误:

错误:服务器错误

服务器遇到临时错误,无法完成您的请求。请在 30 秒后重试。

我检查日志没有错误或任何问题通知。

这是我的 app.yaml 内容:

这也是我的 .dockerignore 文件:

我有点困惑,我需要一些指导来了解问题出在哪里或如何解决它。

0 投票
1 回答
270 浏览

node.js - 使用 Google Cloud 部署 Nodejs 代码

我正在尝试部署基于 NODE JS 构建的 webapp 代码。我部署了一个简单的应用程序 hello-world

https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/appengine/hello-world

它奏效了。

附上我的项目结构。在客户端文件夹中,我有 angular4,构建文件将存储在 public 在服务器文件夹中,我定义了路由。

这个设置在我的本地工作。没有错误。

但是当我在谷歌云上部署它时,我得到了

和错误日志说

谁能指导我为什么会出现这个错误?

我运行 npm start 的根package.json文件是

我的 app.yaml 文件是

需要注意的是,这两个文件都是从 google 示例 github 项目中复制的并添加了值。

项目文件夹结构 - 展开

项目文件夹结构 - 展开

项目文件夹结构 - 折叠

在此处输入图像描述

谁能指导我为什么会出现这个错误?

0 投票
1 回答
103 浏览

node.js - 在运行我的应用服务器的谷歌应用引擎上运行任务

我在谷歌应用引擎上使用 nodejs,并带有一个 cron 作业的端点。当调用其余端点时,我想在将响应返回给调用者后继续我的 cron 作业。cron 任务将持续大约一个小时。如果运行一个小时或更长时间,GAE 会终止任务吗?我想 GAE 不应该杀死我的 nodejs 服务器进程,因为这样我的应用程序就会停止。我想知道由于 GAE 的一些限制,任务是否有可能提前结束。

0 投票
2 回答
260 浏览

google-app-engine - Google Cloud Platform App Engine 节点灵活实例 Ruby 占用 50% 的 RAM

无论实例分配了多少 RAM,有一个 ruby​​ 进程始终处于 50% 的 RAM 利用率。我在 flex 环境中运行 Node,其中包含一个简单的 express 应用程序,该应用程序通过 sequelize 连接到 Cloud SQL 实例。我尝试将 RAM 增加到 4GB,并且它继续保持 50% 的使用率。

看起来过程是 /opt/google-fluentd/embedded/bin/ruby -Eascii-8bit:ascii-8bit /usr/sbin/google-fluentd --log /var/log/google-fluentd/google-fluentd.log --under-supervisor

我经常用完 RAM,当我这样做时,实例会自动重新启动并抛出 502,直到它重新联机。只是似乎无法弄清楚为什么一个 ruby​​ 进程会在我的节点实例上占用如此多的 RAM。

该服务的行为将与您期望的占用内存的高 RAM 使用进程一样;即,当需要 RAM 时,它会刷新进程并允许分配 RAM。问题是空间非常小,以至于当我的节点服务器需要更多 RAM 并占用 50MB 时,它会在 RAM 被占用之前使服务器超负荷并崩溃。

0 投票
2 回答
813 浏览

google-app-engine - NodeJS AppEngine 上的 vm.syslog 和内存使用错误不断增加

我的一些 AppEngine 项目遇到问题,因为几天后我开始在 Stackdriver Logging 的 vm.syslog 日志中看到很多错误(我注意到它们可能会在运行状况检查到达时发生)。

具体来说有:

  • write_gcm: 服务器响应 (CollectdTimeseriesRequest) 包含错误:#012{#012 "payloadErrors": [#012 {#012 "index": 71,#012 "error": {#012 "code": 3,#012 "message ": "预期 4 个标签。找到 0。负载 [values {\n data_source_name: \"value\"\n data_source_type: GAUGE\n value {\n double_value: 694411264\n }\n}\nstart_time {\ n 秒:1513266364\n nanos:618061284\n}\nend_time {\n 秒:1513266364\n nanos:618061284\n}\nplugin:\“processes\”\nplugin_instance:\“all\”\ntype:\“ps_rss \"\n] 资源 [type: \"gce_instance\"\nlabels {\n key: \"instance_id\"\n value: \"xxx\"\n}\nlabels {\n key: \"zone\ "\n 值:\"europe-west2-a\"\n}\n] for project xxx"#​​012 }#012 }#012 ]#012}
  • write_gcm: HTTP 请求不成功 400: {#012 "error": {#012 "code": 400,#012 "message": "Field timeSeries[11].metric.labels[1] has an invalid value of \"health_check_type \": 无法识别的度量标签。",#012 "status": "INVALID_ARGUMENT"#012 }#012}
  • write_gcm:与端点交谈时出错。
  • write_gcm:wg_transmit_unique_segment 失败。
  • write_gcm:wg_transmit_unique_segments 失败。冲洗。

同时,我注意到我在 AppEngine 仪表板中对于相同项目的内存使用量随着时间的推移而增加,达到最大可用量并且实例重新启动,在访问网络时抛出 502 错误该应用程序正在服务的网站。

所有这一切都没有发生在至少 2 周以来没有更新的几​​个项目上(上述错误或内存增加都没有),但是当使用与其中一个健康的代码库相同的代码库部署时,它确实发生在新创建的实例上项目。此外,在本地运行我的项目时,我没有碰巧看到内存有任何增加。

有人可以温和地告诉我他们是否经历过类似的事情,或者他们是否认为错误和内存增加有关?我最近没有更改我的 yaml 文件进行部署,也没有为运行状况检查指定任何自定义配置(以默认速率在传统模式下运行)。

谢谢你的帮助,尼古拉

0 投票
1 回答
4097 浏览

debugging - Google App Engine 部署调试“错误响应:[4] 等待应用基础设施恢复健康时超时”

简而言之: 我们有在 Google App Engine Nodejs 运行时、flex 环境中运行的网络应用程序。从 5 天前开始,我们所有的部署都开始失败,原因是:

完整的错误堆栈跟踪:

在此之前(3 周前)部署开始变得非常缓慢(5-20​​ 分钟)。

命令提供的操作信息:

给出了这个:

任何想法如何获取有关操作的更多信息以及执行了哪些操作?

最好的,

亚历克斯

0 投票
1 回答
1026 浏览

ajax - App Engine Identity Aware Proxy AJAX 请求失败,HTTP 代码 405

我有一个与这个问题类似的问题(但有一个关键区别 - 我正在使用自己的 API):使用 Google Auth、Angular 4、ASP.Net Core 2 进行身份验证时出现 405

我正在使用 Identity Aware Proxy (IAP) 向我的企业域中的用户验证我们部署在 App Engine 柔性环境中的自定义应用程序,该应用程序是用 Node.js 编写的。该应用程序使用 express 提供资产并维护 RESTful API,并使用IAP 文档建议的签名标头授权请求。

IAP 在限制用户使用应用程序方面按预期运行,但在尝试对我自己的 RESTful API 进行 AJAX 调用时出现问题。当我尝试执行此操作时,HTTP 请求以 302 重定向响应,重定向到 Google oauth2 端点 ( https://accounts.google.com/o/oauth2/v2/auth?client_id=[...]),然后失败并出现以下错误:

有问题的 AJAX 是一个 POST 方法请求,但在开发工具的 Network 选项卡中,我还看到一个模仿请求到与 GET 请求相同的端点(相同的标头,只是去掉了有效负载),然后是 OPTIONS 请求到OAuth 端点(由于 OAuth 不处理 OPTIONS 预检请求而生成错误)。

在此处输入图像描述

我已经严格按照 IAP 和 App Engine 文档进行操作,因此我怀疑我在实现方面遗漏了文档所暗示的某些内容,而我忽略了这些内容。我需要以不同的方式处理 AJAX 身份验证吗?为什么它被发送到 OAuth 端点?这与我的 CORS 配置有关吗?

我尝试使用cors清除缓存、不同的设备/浏览器、各种 CORS 配置。

为什么请求失败对我来说是有道理的,但我不明白为什么首先提出请求。我了解 CORS 的限制,但我没有(直接)向 Google 服务发送请求,而是向我自己的 RESTful API(尽管托管在 Google 服务上并在 IAP 后面)发送请求。如果用户已经通过身份验证进入我的应用程序并通过 IAP,在我看来,AJAX 请求也应该进行身份验证?

0 投票
2 回答
1252 浏览

node.js - App Engine Node.js:如何链接应用日志和请求日志

我在 App Engine Standard 和 Flexible 上使用 Node.js。

在日志查看器中,是否可以显示嵌套在请求日志中的应用程序日志?

0 投票
1 回答
354 浏览

node.js - 未注册身份验证策略“jwt”

重现步骤

我部署了需要对 Google Appengine 进行身份验证的 featherjs 示例项目,我收到以下错误消息:

我的应用引擎日志显示以下内容:

错误:BadRequest:未注册身份验证策略“jwt”。在对象的新 BadRequest (/srv/node_modules/@feathersjs/errors/lib/index.js:86:17) 处。(/srv/node_modules/@feathersjs/authentication/lib/hooks/authenticate.js:41:29) 在 promise.then.hookObject (/srv/node_modules/@feathersjs/commons/lib/hooks.js:167:73)在 <匿名>

无论如何强制注册JWT?这在我的 featherjs 开发环境中运行良好,因此正常环境的设置没有任何问题,只是想知道是否有人对如何使其运行有任何建议。