2

我正在使用 python 和 google.cloud.tasks_v2。在应用程序引擎中部署我的服务后,我创建了任务,它创建并成功执行,但是如果方法 client.get_task() 不返回任何相关信息,我如何获得任务状态或任务执行的结果?

4

1 回答 1

2

要获取有关您正在运行的指定 Cloud Task 的信息,您可以使用命令行并将其集成到 Python 代码中,使用类似subprocess运行以下命令的包:

gcloud tasks describe TASK [--queue=QUEUE]

此外,如果您想查看任务尝试的状态,可以使用以下Cloud Task API。

它将使用以下 JSON 表示形式为您提供有关任务尝试状态的信息:

{
  "scheduleTime": string,
  "dispatchTime": string,
  "responseTime": string,
  "responseStatus": {
    object (Status)
  }
}

要查看任务第一次尝试firstAttempt的状态或任务最后一次尝试的状态,lastAttempt您可以在 Cloud Task API中使用以下方法。

如此处所述请记住,如果您在 Cloud Tasks 队列中使用 App Engine 任务,代码状态将如下所示:

如果应用程序的请求处理程序返回 [200 - 299] 范围内的 HTTP 响应代码,则任务尝试成功。如果应用的处理程序返回非 2xx 响应代码或 Cloud Tasks 在截止日期之前未收到响应,则任务尝试失败。

于 2019-12-24T13:20:40.553 回答