【问题标题】:Consuming tasks from GAE Task Queue使用 GAE 任务队列中的任务
【发布时间】:2012-06-05 04:16:20
【问题描述】:

我想在GAE 中将Task Queue 与我的应用程序一起使用。据我所知(根据Task Queue 文档和API),我们可以将任务添加到push queue,然后应用程序会自动使用它们。同样在pull queue中,我们可以添加任务,任务会根据我们处理的缩放属性自动消耗。

我想知道是否可以通过调用consume-like method 来使用来自task queue (push or pull queues) 的任务?

谢谢

【问题讨论】:

    标签: google-app-engine task-queue


    【解决方案1】:

    我认为您误解了推送和拉取任务队列的工作原理。在这两个队列中,您都将任务添加到队列中,但在推送队列中,系统会将任务出列并将其分配给拉入队列中的适当处理程序,您需要使用lease_tasks 将任务出列并处理任务。

    【讨论】:

    • 感谢您的回答。另外我想知道是否可以使用任务队列(拉队列)作为 GAE 的消息队列(因为 GAE 没有为它提供消息队列)。另外,如果不是,那么用作 GAE 消息队列的最佳选择是什么?我也提到了stackoverflow.com/questions/625146/…,但据我所知,这些基于内存缓存的消息队列(MemcacheQ、sparrow 等)无法连接到 GAE,因为 GAE 仅支持 Java 和 Python。
    • 为什么不行?消息队列和任务队列到底有什么区别?
    • @NickJohnson:据我所知,任务队列也是一个面向消息的中间件,虽然还没有完全成熟。我也提到了stackoverflow.com/questions/10075817/… 和你的评论,根据我目前所读到的所有内容,我认为使用拉队列作为消息队列是可以的......谢谢
    • 什么是“中间件,但不是完全成熟的”?
    • 据我所知,任务队列似乎不是一个成熟的面向消息的中间件。请我想对此进行任何澄清,因为我以前没有使用过它。谢谢
    【解决方案2】:

    请注意,添加到拉取队列的任务不会自动消耗。

    您想要的类消费方法是lease_tasks(请注意,这仅适用于拉取队列)。如果您想在给定时间使用任务,您可以拥有一个处理这些任务的端点。您也可以设置cron jobs 来调用该特定端点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      相关资源
      最近更新 更多