如何使用 task_name 检索排队的任务
How to retrieve a queued task with task_name
我正在构建一个 Python 在以下流程中使用任务队列的应用程序
- 通过调用
taskqueue.add()
将拉取任务添加到任务队列
- 通过调用
taskqueue.lease_tasks()
来租用相同的任务
- 一段时间后,我们可能希望通过调用
taskqueue.modify_task_lease()
来缩短租约时间
问题是,这 3 个步骤发生在不同的网络会话中。在第 3 步,modify_task_lease()
函数需要一个任务实例作为参数,而我手头只有 task_name,它是通过 Web 挂钩从第 2 步传递过来的。
那么有什么方法可以用它的名字检索任务吗?
在document中,我找到了delete_tasks_by_name()
,但是没有modify_task_lease_by_name()
,这正是我想要做的。
delete_tasks_by_name()
is just a wrapper around delete_tasks_by_name_async()
,实现为
if isinstance(task_name, str):
return self.delete_tasks_async(Task(name=task_name), rpc)
else:
tasks = [Task(name=name) for name in task_name]
return self.delete_tasks_async(tasks, rpc)
所以我猜你可以类似地使用 Task()
constructor to obtain the task instance needed by modify_task_lease()
:
modify_task_lease(Task(name=your_task_name), lease_seconds)
我正在构建一个 Python 在以下流程中使用任务队列的应用程序
- 通过调用
taskqueue.add()
将拉取任务添加到任务队列
- 通过调用
taskqueue.lease_tasks()
来租用相同的任务
- 一段时间后,我们可能希望通过调用
taskqueue.modify_task_lease()
来缩短租约时间
问题是,这 3 个步骤发生在不同的网络会话中。在第 3 步,modify_task_lease()
函数需要一个任务实例作为参数,而我手头只有 task_name,它是通过 Web 挂钩从第 2 步传递过来的。
那么有什么方法可以用它的名字检索任务吗?
在document中,我找到了delete_tasks_by_name()
,但是没有modify_task_lease_by_name()
,这正是我想要做的。
delete_tasks_by_name()
is just a wrapper around delete_tasks_by_name_async()
,实现为
if isinstance(task_name, str):
return self.delete_tasks_async(Task(name=task_name), rpc)
else:
tasks = [Task(name=name) for name in task_name]
return self.delete_tasks_async(tasks, rpc)
所以我猜你可以类似地使用 Task()
constructor to obtain the task instance needed by modify_task_lease()
:
modify_task_lease(Task(name=your_task_name), lease_seconds)