gpt4 book ai didi

java - Google App Engine 将延迟任务添加到队列中会产生多个任务

转载 作者:行者123 更新时间:2023-12-01 05:13:25 26 4
gpt4 key购买 nike

最近我注意到,当我重新安排延迟任务时,该任务会生成两个或多个完全相同的任务。我的一份工作衍生出 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); 

防止重复任务产生,但没有效果。有其他人看到过这个问题或者有防止重复的解决方案吗?

最佳答案

任务队列可以多次执行同一个任务。这是预期的行为。

您的任务必须是幂等的才能与任务队列一起使用。即,如果它运行多次,它的行为必须就像运行一次一样。否则,您无法使用任务队列。

关于java - Google App Engine 将延迟任务添加到队列中会产生多个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11694638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com