java自动启动AppEngine灵活服务器
编辑:所以我找到了网站。xml<load-on-startup>1</load-on-startup>
标记是我所需要的,但显然它在flexible上不受支持。还有别的选择吗
所以这可能是一个非常明显的问题,但我想不出来
我有一个AppEngine灵活环境服务器,并使用这个servlet
@SuppressWarnings("serial")
@WebServlet(name = "servlet", value = "/")
public class FirebaseServlet extends HttpServlet {
private static final String TAG = FirebaseServlet.class.getSimpleName();
private DatabaseReference reference;
@Override
public void init() throws ServletException {
FirebaseOptions options = ...
Log.d(TAG, "debug");
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.getWriter().println("Server Running...");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
}
@Override
public void destroy() {
super.destroy();
}
}
因此,当我运行此命令时:
mvn clean jetty:run
它将在localhost:8080上运行,但我始终必须实际打开web浏览器,并导航到localhost:8080,如果我已经在它上面,我必须在每次运行jetty:run命令时刷新页面。在我启动localhost/refresh之后,servlet启动、初始化firebase侦听器并打印*Sysout
debug
因此,我确信我忽略了一些非常明显的事情,我如何使它自动启动servlet?这样我就不必浏览localhost网页,或者在生产过程中,导航到appspot页面
如果需要,这是我的应用程序。亚马尔
runtime: java
env: flex
manual_scaling:
instances: 1
handlers:
- url: /.*
script: this field is required, but ignored
secure: always
runtime_config: # Optional
jdk: openjdk8
server: jetty9
resources:
cpu: 0.5
memory_gb: 0.6
disk_size_gb: 10
env_variables:
BUCKET_NAME: YOUR-BUCKET-NAME=bucketname.appspot.com
# 1 楼答案
您可以使用cron计划任务。yaml,因此它们会以一定的间隔自动启动
有关更多信息,请参阅谷歌云平台文档https://cloud.google.com/appengine/docs/flexible/java/scheduling-jobs-with-cron-yaml