1

最近、延期されたタスクを再スケジュールすると、タスクがまったく同じタスクの 2 つ以上に生成されることに気付きました。4 つの同一のタスクを生成する仕事がありました。次のようなコードを使用して、タスクを再スケジュールします。

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); 

重複したタスクが無駄に生成されるのを防ぐため。他の誰かがこの問題を見たことがありますか、または重複を防ぐための解決策があります.

4

1 に答える 1

0

タスク キューは、同じタスクを複数回実行する場合があります。これは予期される動作です。

タスク キューを操作するには、タスクがべき等である必要があります。つまり、複数回実行する場合は、1 回実行したかのように動作する必要があります。そうしないと、タスク キューを使用できません。

于 2014-06-23T04:07:00.660 に答える