【问题标题】:GAE: Know if a specific task is on the queueGAE:知道特定任务是否在队列中
【发布时间】:2012-06-14 16:51:02
【问题描述】:

我必须知道某个特定任务(具体由 url 上的参数指定)是否在队列中...应该有可能吗?

我正在使用 Java !

谢谢:)

【问题讨论】:

  • 有可能。它有多容易取决于您正在谈论的队列类型。当然,当您确定它在队列中时,它可能已被删除。 ;)

标签: java google-app-engine task task-queue


【解决方案1】:

您可以使用Named Tasks 来执行此操作。

例如,您可以散列任务参数并将结果设置为名称。然后,如果您尝试两次插入具有相同参数的任务,第二次插入将失败。

如前所述,这里存在竞争条件,您可能需要考虑是否存在这样的设计,即在任何时候在队列中拥有多个相同任务的副本不会导致问题。

【讨论】:

    【解决方案2】:

    您可以使用 TASK Queue REST API 来检查队列中任务的状态

    https://developers.google.com/appengine/docs/java/taskqueue/rest#method_taskqueue_tasks_list

    您也可以提前为其编写代码,使用 com.google.appengine.api.taskqueue.TaskHandle 类获取任务的句柄,然后通过 API 公开对象

    【讨论】:

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