端点API:运行长时间任务的方法



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

注意:您不能直接从推送任务队列或cron作业中调用Google Cloud Endpoint。

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

提前感谢,
拉斐尔。

我会这样做:

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

在这种情况下,任务队列没有调用端点方法。我不清楚为什么你需要这样做,在这种情况下,但有一个解决方案,如果你需要,这是有任务队列调用一个内部URL,然后调用端点方法。

最新更新