我怎样才能检查我之前是否已经排队了?

时间:2014-11-24 13:01:13

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

我想在App Engine任务队列上添加一项任务,但前提是它尚未排队。我如何检查它是否已经在队列中?从任务队列API中看不清楚,但也许我错过了它。他们关键任务(param?)将是user_id。 使用案例:我每分钟都在检查新邮件。这需要经常发生。但是,有时此队列中还有其他作业(它们都需要属于同一队列,因为它们使用的是外部服务Gmail API,其速率限制为10 qps,我只能通过限制速率来保证队列)。当这些繁重的进程运行时,它们会对队列进行积压。为了避免这种情况,我想检查增量提取任务是否先前已经入队,并且只检查它是否已经排队。达到这样的目标的最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

您可以将task names用于此目的。

答案 1 :(得分:0)

我会添加一个tag to the task然后执行lease_task_by_tag并将lease_seconds设置为0.如果它为空,那么我可以安全地创建一个新的。