如何在Google App Engine任务队列上替换任务?

时间:2015-01-12 12:10:29

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

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

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,根据文档有意义。有没有办法替换或推迟执行现有任务?

1 个答案:

答案 0 :(得分:0)

Use tags instead of names。为标记指定一个唯一的名称,然后执行lease_task_by_tag以查看它是否存在。

add(taskqueue.Task(payload ='parse1',method ='PULL',tag ='parse')) lease_tasks_by_tag(lease_seconds,max_tasks,tag = None,截止日期= 10)