在应用引擎 PHP + BigQuery 上获取错误代码 204

Posted

技术标签:

【中文标题】在应用引擎 PHP + BigQuery 上获取错误代码 204【英文标题】:Getting error code 204 on App engine PHP + BigQuery 【发布时间】:2016-03-22 15:22:39 【问题描述】:

我收到此错误:

A problem was encountered with the process that handled this request, causing it to exit. 
This is likely to cause a new process to be used for the next request to your application. 
(Error code 204)

我有一个主要使用 BigQuery 的 php 应用程序。我无法调试它,这非常令人沮丧。

here 没有任何帮助。

我能做什么?

应用 ID 为:logolapp

更新回复问题的答案

    是的,它仍在发生,不是每个请求,而是类似于 1/20 的请求。自从我开始开发这个应用程序以来就发生了这种情况,大约是一周前。

    在日志中。在浏览器中我只得到 500

    1/20 左右的请求随机发生

    我正在 BigQuery 中放置和查询统计信息。

另一个更新 - 我的 app.yaml:

application: logolapp
version: 1
runtime: php55
api_version: 1
threadsafe: true

handlers:
- url: /static
  static_dir: static

- url: /data
  script: data.php

- url: /get/.*
  script: get.php

- url: /query/.*
  script: query.php

- url: /post
  script: post.php

- url: /postidm
  script: main.php

- url: /info
  script: info.php

【问题讨论】:

能否请您也发布您的 app.yaml 文件? @DoITInternational 添加了 app.yaml 您能否尝试重新部署应用程序并将threadsafe 值设置为false,因为这可能与您的问题的原因有关。另外,请告诉我您是否在应用程序中广泛使用 Memcache。 @DoITInternational 做出了改变。到目前为止没有遇到错误,所以看起来它正在工作。但它不会大大降低性能吗? 我不知道线程安全设置为错误的降低性能。将 Threadsafe 设置为 true 实际上会降低应用程序的速度,因为您有目的地确保或多或少地按顺序处理请求以避免数据争用。 【参考方案1】:

这个问题有几个可能的原因,其中一个是实例上的内存不足,可以通过将内存密集型进程移动到具有更多内存的后端实例,或增加实例的实例类来解决你现在正在使用。

另一个可能的原因可能是缩放问题。不过,我需要查看您的 app.yaml 中的缩放设置来确认这一点。

最后,这可能与您的app.yaml 中的threadsafe 设置为true 有关。请将threadsafe 设置为false 以确保GAE 不会与您的代码混淆

如果您可以修改您的问题并添加以下信息,将会很有帮助:

您的问题仍然存在吗?问题是从什么时候开始的? 错误是否显示在您的日志中,或者是您尝试通过浏览器访问应用程序时出现的错误? 问题是连续发生还是分批发生?如果分批,多久发生一次? 您打算用 BigQuery 做什么?

【讨论】:

以上是关于在应用引擎 PHP + BigQuery 上获取错误代码 204的主要内容,如果未能解决你的问题,请参考以下文章

从 node.js 获取 bigquery 结果到浏览器

在谷歌应用引擎中将数据流式传输到 bigquery - java

如何使用 PHP 编写类似 sql 的查询以从 BigQuery 获取数据

尝试从容器引擎 pod 将数据插入 BigQuery 失败

Bigquery BI 引擎是不是适用于分区表

PHP 和 Google API(具体为 BigQuery)[重复]