1
最近我一直注意到,当我重新安排延期任务时,任务会产生两个或两个以上完全相同的任务。我刚刚完成了一项工作,生成了4个相同的任务。我们使用如下代码重新安排任务:谷歌App Engine添加延迟任务队列产生多个任务
Queue q = null;
if (queueName == null)
q = QueueFactory.getDefaultQueue();
else
q = QueueFactory.getQueue(queueName);
TaskOptions to = TaskOptions.Builder.withPayload(this);
q.add(to);
这段代码很简单,但它造成了很多的我们的应用程序的问题。我们甚至试图给任务一个名字,例如:
to.taskName(TASK_NAME);
防止重复的任务从产卵没有用。有没有其他人看到这个问题或有一个解决方案,以防止重复。
为什么重新安排延期任务?如果您在任务处理程序中这样做,则可以创建多个任务,因为可以多次运行同一个任务。 – mjibson 2012-07-27 20:57:46
为什么你会为什么我重新安排一个例子。假设我正在处理用户的任务文档。该任务正在Frontend实例上运行,因此我必须遵守10分钟计时器。为了保持当前任务的状态,我需要重新安排该任务,以便在接近时间限制时完成其工作。 – ndixon 2012-07-28 23:17:11