我做了一个不和谐的机器人我尝试在appengine上进行操作,它运行良好然而当闲置超过30分钟时,appengine关闭实例因为 - 我相信问题是 - 自动缩放哪个应用引擎关闭了流量不活跃的实例以降低成本。根据java文档,您需要将app / project-project-project / project-1.0 / WEB-INF / appengine-web.xml中的应用程序的appengine-web.xml文件设置为手动缩放,这也控制了实例的数量。实例。但这似乎并没有解决问题。我几乎没有使用任何流量,而且我检查了我的实例统计信息,因为不活动而只是关闭了。
我从控制台分离的方式是通过java -jar project-1.0.jar&运行我的java应用程序。 &分离并使其自行运行(在这种情况下)。
激活应用程序并关闭控制台30分钟后,应用程序因自动缩放而关闭。
这是我的appengine-web.xml:
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>wizardry-discord-bot</application><!-- unused for Cloud SDK based tooling -->
<version>1</version><!-- unused for Cloud SDK based tooling -->
<threadsafe>true</threadsafe>
<runtime>java8</runtime>
<manual-scaling>
<instances>1</instances>
</manual-scaling>
</appengine-web-app>
由于这不起作用,文档不清楚,所以我也将这个添加到src / main / appengine / app.yaml中的app.yaml,就像我读过的许多样本一样。 再次,文档不清楚,但他们说我也可以在这里指定手动缩放。我在这一点上迷失了什么是什么,哪个是哪里。
# [START_EXCLUDE]
# Copyright 2015 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# [END_EXCLUDE]
# [START runtime]
runtime: custom
env: flex
handlers:
- url: /.*
script: this field is required, but ignored
runtime_config: # Optional
jdk: openjdk8
server: jetty9
manual_scaling:
instances: 1
# [END runtime]
我在这里做错了吗?我一般都是google云的新手。有点丢失。
编辑:更多: 文档说运行mvn appengine:deploy实际运行你的代码而不是编译和java -jar它。 https://cloud.google.com/java/getting-started/hello-world 但是,当我运行命令时:https://hastebin.com/magizutuho.sql
答案 0 :(得分:0)
要使一个实例始终处于活动状态,您可以在app.yaml文件中应用它:
automatic_scaling:
min_instances: 1
max_instances: 1
但是,我想知道Discord库是否可能是一个问题。我正在使用一个用于node.js,有时客户端会断开连接而不会尝试重新连接。
我正在使用的一种解决方法是每30分钟对bot(在我的情况下为HTTP GET请求)执行一次ping操作,销毁客户端并再次登录。缺点是停机时间只有几秒钟,但是对于我的用例来说完全没问题。