java - 端点 API : way to run long tasks

标签 java google-app-engine google-cloud-endpoints

我们的 GAE 应用程序使用 Google Cloud Endpoints API for Java ,但我们需要其中一个端点来执行一些复杂的操作,这些操作需要几分钟(超过请求超时时间)。 如 this question 中所述,对于长时间运行的任务(<10 分钟对我来说足够了),我们应该使用任务队列 API,但根据文档:

Note: You cannot call a Google Cloud Endpoint directly from a push task queue or a cron job.

还有其他解决办法吗?理想情况下,我真的想只向特定端点发出请求,以重用处理程序的所有代码。 这可能吗?

提前致谢,
拉斐尔。

最佳答案

我会执行以下操作:

  1. 将处理程序代码移至 API 方法之外的任务队列方法。
  2. 现在让该方法返回映射到任务名称的操作 ID。
  3. 有一个接受 ID 并返回任务状态的新方法。

在这种情况下,任务队列不会调用 Endpoints 方法。我不清楚为什么在这种情况下需要这样做,但如果需要的话有一个解决方法,那就是让任务队列调用一个内部 URL,然后调用 Endpoints 方法。

关于java - 端点 API : way to run long tasks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31606594/

相关文章:

google-app-engine - 如何在 Python 和 Java 中访问 Google Cloud Endpoints 请求 header

java - LinkedHashMap 的缺点?

java - 如何检查电子邮件是否存在,除了请求的用户之外?

java - Maven + GAE 一步一步

google-app-engine - 使用 Google App Engine 创建引用自身的模型

android - 来自客户端应用程序的 Google Cloud Endpoint 插入无法在本地服务器上运行

java - 你能用谷歌端点设置一个简单的登录系统吗

java - 我做错了什么,hibernate/spring Boot 显示来自 mysql 的名称

java - JColorChooser 将色调、饱和度和值表示为整数。如何从 Color 对象获取这些值?

python - 从 Python 2 升级到 Python 3 Google App Engine