【发布时间】:2012-06-14 16:51:02
【问题描述】:
我必须知道某个特定任务(具体由 url 上的参数指定)是否在队列中...应该有可能吗?
我正在使用 Java !
谢谢:)
【问题讨论】:
-
有可能。它有多容易取决于您正在谈论的队列类型。当然,当您确定它在队列中时,它可能已被删除。 ;)
标签: java google-app-engine task task-queue
我必须知道某个特定任务(具体由 url 上的参数指定)是否在队列中...应该有可能吗?
我正在使用 Java !
谢谢:)
【问题讨论】:
标签: java google-app-engine task task-queue
您可以使用Named Tasks 来执行此操作。
例如,您可以散列任务参数并将结果设置为名称。然后,如果您尝试两次插入具有相同参数的任务,第二次插入将失败。
如前所述,这里存在竞争条件,您可能需要考虑是否存在这样的设计,即在任何时候在队列中拥有多个相同任务的副本不会导致问题。
【讨论】:
您可以使用 TASK Queue REST API 来检查队列中任务的状态
https://developers.google.com/appengine/docs/java/taskqueue/rest#method_taskqueue_tasks_list
您也可以提前为其编写代码,使用 com.google.appengine.api.taskqueue.TaskHandle 类获取任务的句柄,然后通过 API 公开对象
【讨论】: