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