Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序引擎:从前端在后端启动长时间运行任务的正确方法?_Java_Google App Engine - Fatal编程技术网

Java 应用程序引擎:从前端在后端启动长时间运行任务的正确方法?

Java 应用程序引擎:从前端在后端启动长时间运行任务的正确方法?,java,google-app-engine,Java,Google App Engine,我想在后端实例上启动一个长时间运行的任务。此后端任务将由前端代码(servlet)通过HTTP请求启动。这些都是在文档中描述的,对我来说很有用 困扰我的是前端实例的请求持续时间限制为30秒(或者现在是60秒?)。在该请求期间,前端将调用后端来启动长时间运行的任务。但是,由于此任务正在长时间运行,前端正在等待它完成,并且将超时 问题是如何从前端发出HTTP请求来启动长时间运行的后端任务,这样前端就不会超时,后端将继续运行 我已经尝试过的是: 在后端启动一个单独的线程。我的IDE(Idea)对此表示

我想在后端实例上启动一个长时间运行的任务。此后端任务将由前端代码(servlet)通过HTTP请求启动。这些都是在文档中描述的,对我来说很有用

困扰我的是前端实例的请求持续时间限制为30秒(或者现在是60秒?)。在该请求期间,前端将调用后端来启动长时间运行的任务。但是,由于此任务正在长时间运行,前端正在等待它完成,并且将超时

问题是如何从前端发出HTTP请求来启动长时间运行的后端任务,这样前端就不会超时,后端将继续运行

我已经尝试过的是:

  • 在后端启动一个单独的线程。我的IDE(Idea)对此表示不满,说AppEngine上不允许使用线程。是否允许在后端实例中使用它们
  • 在后端servlet中,刷新应答并关闭writer()-什么也不发生。前端不接收任何内容

  • 我在dev服务器上尝试了所有这些。应该在生产环境中试用吗?

    在AppEngine上、在前端或后端执行长时间运行请求的方法是使用。任务的超时时间为10分钟,而不是60秒,但如果您需要更多时间,可以在后端实例上运行它,方法是给它一个目标名称。

    通过Google偶然发现此页面的人的附录:将任务队列推送到后端服务器的方法如中所述