gpt4 book ai didi

python - 判断任务是否已被删除 GAE Python

转载 作者:太空宇宙 更新时间:2023-11-03 19:09:29 25 4
gpt4 key购买 nike

我想加载任务队列中的多个任务(推送),然后确定添加到队列中的任务组何时完成。我有以下代码:

    task = taskqueue.add(url='/task')

import time
while not task.was_deleted:
logging.info('not deleted yet')
time.sleep(1)

这会无限循环。我预计一旦任务被处理并删除,“was_deleted”参数将返回 True。但即使任务被删除,'was_deleted' 仍然返回 false。以下是文档的内容:

task.was_deleted: "如果此任务已成功删除,则为 True。" https://developers.google.com/appengine/docs/python/taskqueue/tasks#Task_was_deleted

如果拉取任务创建成功,您的应用程序需要在处理后删除该任务。系统最多可能需要 7 天的时间才能识别任务已被删除;在此期间,任务名称仍然不可用。尝试在此期间创建具有相同名称的另一个任务将导致“项目存在”错误。系统没有提供方法来确定已删除的任务名称是否仍在系统中。为了避免这些问题,我们建议您让 App Engine 自动生成任务名称。 https://developers.google.com/appengine/docs/python/taskqueue/overview#Task_Concepts

这一段似乎表明您无法立即确定给定任务何时被删除。这是正确的吗?

我的问题:

  1. was_deleted 的预期用途是什么
  2. 如何确定添加到推送队列的特定任务(或任务组)何时完成

最佳答案

我无法回答你的第一个问题,但对于第二个问题,我有和你类似的需求。

我所做的是将要检查是否完成的任务分组到队列中,并使用 QueueStatistics 类,您可以查看该队列的剩余任务数。

以下代码说明了如何获取该数据。您可以在交互式控制台中尝试一下。

from google.appengine.api import taskqueue

statsList = taskqueue.QueueStatistics.fetch(taskqueue.Queue("default"))

print(statsList.tasks)

关于python - 判断任务是否已被删除 GAE Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13504389/

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