gpt4 book ai didi

google-app-engine - Google App Engine 应用程序突然停止工作,返回 503

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:57 24 4
gpt4 key购买 nike

我有一个在 Google App Engine 上运行的应用程序,我于 2018 年 9 月 6 日部署了该应用程序最新版本的最新版本,但今天该应用程序停止服务请求,并返回错误 503,内容如下

<HTML>
<HEAD>
<TITLE>Service Unavailable</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Service Unavailable</H1>
<H2>Error 503</H2>
</BODY>
</HTML>

我以为是因为我还没有迁移到已弃用的 Cloud Endpoint v1.1 到 V2.0

但是在我进行了迁移所需的更改之后,当我尝试部署它时,它仍然在运行 Maven 命令以部署或生成文档时返回 503。

我知道 Google 表示他们正在经历 issues昨天在一些 App Engine 区域,但我不确定它是否与我所经历的有任何关系。

我的 App 引擎应用程序正在使用美国中心区域。

更新:看起来云端点 V1.1 已关闭,无法再提供流量,因此按照迁移指南,我已经能够迁移到 2.0 版,但不幸的是我得到了一个api-discovery 文档错误

这是错误

500

API 发现响应缺少必填字段。

我想解决这个问题

这是我的 pom.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>

<groupId>group-id</groupId>
<artifactId>artifact-id</artifactId>

<properties>
<app.id>project-id</app.id>
<app.version>1</app.version>
<appengine.version>1.9.64</appengine.version>
<gcloud.plugin.version>2.0.9.121.v20160815</gcloud.plugin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<jackson.version>2.9.0</jackson.version>
<archiveClasses>true</archiveClasses>
</properties>

<prerequisites>
<maven>3.3.9</maven>
</prerequisites>

<dependencies>
<!-- Compile/runtime dependencies -->
<dependency>
<groupId>com.google.endpoints</groupId>
<artifactId>endpoints-framework</artifactId>
<version>2.1.0</version>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>

<!-- Objectify library ready -->
<dependency>
<groupId>com.googlecode.objectify</groupId>
<artifactId>objectify</artifactId>
<version>6.0</version>
</dependency>

<!-- Apache Commons Library -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0</version>
</dependency>

<!-- Add support for joda money library -->
<dependency>
<groupId>org.joda</groupId>
<artifactId>joda-money</artifactId>
<version>0.10.0</version>
</dependency>

<!--Added support for joda time library -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.4</version>
</dependency>
<!-- end joda time api.-->

<!-- Load scrypt library for password encryption and decryption -->
<dependency>
<groupId>com.lambdaworks</groupId>
<artifactId>scrypt</artifactId>
<version>1.4.0</version>
</dependency>
<!-- Objectify utils to help us with currency -->
<dependency>
<groupId>com.sappenin.objectify</groupId>
<artifactId>objectify-utils</artifactId>
<version>5.1.3</version>
</dependency>
<!-- google guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
<!-- Apache poi for excel file processing -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.15</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.15</version>
</dependency>


<!-- jackson-dataformat-csv-->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
<version>2.7.0</version>
</dependency>

<!-- jackson data bind library for json -->
<!-- Google cloud storage ends -->
<!-- google cloud storage client -->
<dependency>
<groupId>com.google.appengine.tools</groupId>
<artifactId>appengine-gcs-client</artifactId>
<version>0.7</version>
<exclusions>
<exclusion>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client-appengine</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
<version>0.4.0</version>
</dependency>
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client-appengine</artifactId>
<version>1.23.0</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
<version>1.23.0</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client</artifactId>
<version>1.23.0</version>
</dependency>
<!-- Test Dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>2.0.2-beta</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-stubs</artifactId>
<version>${appengine.version}</version>
<scope>test</scope>
</dependency>

<!-- Mail Dependencies with MailGun -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.19.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>1.19.1</version>
</dependency>
<!-- End Mail Dependencies with MailGun -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker-gae</artifactId>
<version>2.3.25-incubating</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>

<dependency>
<!-- Note: core-annotations version x.y.0 is generally compatible with
(identical to) version x.y.1, x.y.2, etc. -->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>

</dependencies>

<build>
<!-- for hot reload of the web application-->
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>display-dependency-updates</goal>
<goal>display-plugin-updates</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<stage.enableJarClasses>true</stage.enableJarClasses>
<cloudSdkPath>/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk</cloudSdkPath>
</configuration>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!-- deploy configuration -->
</configuration>

</plugin>

<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>endpoints-framework-maven-plugin</artifactId>
<version>1.0.2</version>
<configuration>
<!-- plugin configuration -->
<hostname>project-id.appspot.com</hostname>

</configuration>
<executions>
<execution>
<goals>
<goal>discoveryDocs</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

这是我的 web.xml 文件

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- Endpoints web.xml -->
<!-- [START web] -->
<servlet>
<display-name>Remote API Servlet</display-name>
<servlet-name>RemoteApiServlet</servlet-name>
<servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Grader</servlet-name>
<servlet-class>com.softquest.apollo.servlets.Grader</servlet-class>
</servlet>
<servlet>
<servlet-name>SheetHandler</servlet-name>
<servlet-class>com.softquest.apollo.servlets.SheetHandler</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RemoteApiServlet</servlet-name>
<url-pattern>/remote_api</url-pattern>
</servlet-mapping>
<!-- Score Sheet Servlet -->
<!-- Remote Api Servlet -->
<servlet>
<servlet-name>EndpointsServlet</servlet-name>
<servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
<init-param>
<param-name>services</param-name>
<param-value>com.softquest.apollo.services.UserServices</param-value>
</init-param>
</servlet>
<!-- Payment Response Servlet -->
<servlet>
<servlet-name>PaymentResponseServlet</servlet-name>
<servlet-class>com.softquest.apollo.servlets.PaymentResponseServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PaymentResponseServlet</servlet-name>
<url-pattern>/PaymentResponse</url-pattern>
</servlet-mapping>
<!-- Payment Response Servlet-->
<servlet-mapping>
<servlet-name>EndpointsServlet</servlet-name>
<url-pattern>/_ah/api/*</url-pattern>
</servlet-mapping>
<!-- Objectify filter registration -->
<filter>
<filter-name>ObjectifyFilter</filter-name>
<filter-class>com.googlecode.objectify.ObjectifyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ObjectifyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Setup ServletContextListener to start up objectify entities on application -->
<servlet>
<servlet-name>BackEndStarter</servlet-name>
<servlet-class>com.softquest.apollo.BackEndStarter</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>BackEndStarter</servlet-name>
<url-pattern>/backend/starter</url-pattern>
</servlet-mapping>
<!-- Migration servlet -->
<servlet>
<servlet-name>MigrationServlet</servlet-name>
<servlet-class>com.softquest.apollo.servlets.MigrationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MigrationServlet</servlet-name>
<url-pattern>/migration/*</url-pattern>
</servlet-mapping>
<!-- Migration Servlet-->
<!-- Migration Handler Servlet -->
<servlet>
<servlet-name>MigrationHandler</servlet-name>
<servlet-class>com.softquest.apollo.servlets.MigrationHandler</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MigrationHandler</servlet-name>
<url-pattern>/migration-handler/*</url-pattern>
</servlet-mapping>
<!-- End of Migration handler Servlet-->
<!-- Setup web.xml to start up context listener -->
<servlet-mapping>
<servlet-name>Grader</servlet-name>
<url-pattern>/Grader</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SheetHandler</servlet-name>
<url-pattern>/SheetHandler</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

我在尝试调用 api 发现文档时遇到此错误,我已将其追溯到第 72 行的空指针错误

com.google.api.server.spi.EndpointsServlet 文件

if (!dispatcher.dispatch(method, path, context)) {
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
response.getWriter().append("Not Found");
}

我猜这个错误被释放到一些第三方库可能仍在使用任何旧的云端点 Maven 依赖项或插件。所以我会从我的 pom.xml 中删除所有依赖项并尝试部署。

更新:我能够修复 API 发现错误,它是由与 Google Guava 库有关的反射错误引起的,而迁移文档曾声明版本 19 可以工作,但没有,升级到版本 20 及更高版本为我修复了这个问题,现在我在所有端点上都收到错误 404。当我能够解决这个问题时,我会写一个答案。

最佳答案

我在几个月未更改的端点上遇到同样的问题,日志中也没有任何内容。我认为这可能是一个应用引擎问题。


编辑

我解决了我们的问题,尽管您提到您已尝试更新到新的 Cloud Endpoint v2.0 但您仍然遇到问题,结果证明我们的项目按照从 v1.1 到 v2 的迁移步骤已修复问题https://cloud.google.com/endpoints/docs/frameworks/python/migrating .

文档说 v1.1 将在 8 月 2 日关闭,我猜他们刚刚解决了这个问题

关于google-app-engine - Google App Engine 应用程序突然停止工作,返回 503,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52312107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com