2015-01-12 139 views
0

将任务添加到任务队列时,我想确保只有一个这样的任务。如果这个任务已经存在,我想删除它并添加新的任务(推迟它的执行也是可以的)。这是我的代码:如何替换Google App Engine任务队列上的任务?

queue = taskqueue.Queue() 
queue.delete_tasks_by_name('task_name') 
task = taskqueue.Task(
    name = 'task_name', 
    url = '/task/url', 
    method = 'GET', 
    countdown = 3600) 
queue.add(task) 

当运行它提出了一个TombstonedTaskError的代码,根据文档这是有意义的。有没有办法替代或推迟现有任务的执行?

+0

@marcadian这正是在问题中的代码是什么.. – Tzach

+0

是的,错过了。为什么你需要更换任务?在你的例子中,没有改变有效载荷/参数。 – marcadian

+0

@marcadian我需要重新开始倒计时 – Tzach

回答

0

Use tags instead of names。给标签一个独特的名字,然后做一个lease_task_by_tag看看它是否存在。

加载(taskqueue.Task(有效载荷= 'parse1',方法= '拉',标签= '解析')) lease_tasks_by_tag(lease_seconds,max_tasks,标签=无,截止= 10)

+0

谢谢但'lease_tasks_by_tag'只适用于拉队列任务。我的任务是推送队列任务。 – Tzach

相关问题