问题标签 [google-cloud-tasks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
67 浏览

firebase - Google Cloud RunTask 在计划运行之前

使用 Google Cloud Tasks 时,我如何过早地运行队列中的任务。我需要在计划运行之前运行该任务。例如,用户选择离开页面并提示他们。如果他们接受离开该页面的提示,我需要以编程方式清除排队的任务项。

我将在后端使用 firebase-function 运行它。

0 投票
1 回答
1065 浏览

python - 有没有办法获取谷歌云任务状态?

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

0 投票
1 回答
223 浏览

google-cloud-tasks - 删除 Google Cloud Tasks 时可以使用通配符吗?

我对Google Cloud Tasks很陌生。

我想知道,有没有办法在删除任务时使用通配符?例如,如果我可能使用以下 ID 命名结构在队列中有 3 个任务......

  1. id-123-task-1
  2. id-123-task-2
  3. id-123-task-3

我可以简单地删除id-123-task-*以删除所有 3 个,还是每次都必须删除所有 3 个特定 ID?我想我正在尝试限制所需 API 调用的数量以删除与“id-123”相关的所有内容。

0 投票
2 回答
1410 浏览

javascript - 谷歌云任务未将正文发送到 http 云功能

我有一个 gcloud 任务,其中的代码大部分是从云任务文档中复制的。 https://cloud.google.com/tasks/docs/creating-http-target-tasks

云函数的目标是能够将 dateTo 和 dateFrom 日期推送给它,以便它可以循环周期并从中创建 cloudTasks。我还没有创建循环,因为我首先希望解决这个问题。

问题是它没有推送正文的http云功能。http cloud 功能在使用 CURL 时有效。

curl -X POST "posturl" -H "Content-Type:application/json" --data '{"date": "2019-12-01", "lastRun": false}'

我检查了这里提到的方法,它是 POST,所以应该没问题。https://stackoverflow.com/a/56448479/2785289

检查接口没有有效载荷。使用 gcloud beta 描述任务......关于有效负载没有正文或没有任何内容。

这是创建任务的云函数的代码。任务被添加到队列中,但是当单击运行时,它们似乎没有触发该功能。(可能是因为该功能需要一个身体才能工作)

我错过了什么?

在此处输入图像描述

如您所见,已添加任务但未执行 在此处输入图像描述 有效负载并且标头为空

0 投票
2 回答
749 浏览

firebase - 安排 Google Cloud Tasks 调用 Firebase 功能

我正在尝试设置一个调用云功能的云任务。我能够设置云任务并且我已经设置了一些云功能,但我似乎无法让云任务调用云功能。

我正在使用此代码从本地主机创建任务

这会导致任务显示在我的控制台中的云任务下。

云任务

任务不断失败并重试。我没有看到来自云功能端的任何日志。

这是云功能的样子。 在此处输入图像描述

在此处输入图像描述

知道我需要做什么才能让云任务调用云功能吗?

0 投票
2 回答
448 浏览

google-cloud-tasks - 使用 cURL 或不使用 SDK/gcloud 的 Google Cloud Tasks

是否可以仅使用 cURL与Cloud Tasks等 Google 服务进行交互?

他们的 API 坞站的“创建任务”部分有几个不同语言的示例,但我看不到任何不需要 SDK 的东西(例如使用 cURL。)

最终,我希望在外部创建 Cloud Tasks,而不必包含任何 3rd 方代码。

0 投票
0 回答
433 浏览

google-cloud-platform - 使用 oidc_token 从谷歌云任务调用谷歌云函数

[更新] 我发现问题出在哪里。我需要为任务 service-[project-number]@gcp-sa-cloudtasks.iam.gserviceaccount.com 创建帐户

我从 Google Cloud Task 调用 Google Cloud Function 时遇到问题。仅当我使用 oidc_token 参数时才会出现此问题。

我从这里使用了 Google Cloud Tasks 教程。我正在使用相同的服务帐户来创建任务并作为oidc_token价值。我向该帐户添加了所有者角色。

这是一个代码:

那么如果获取任务我看到

所有用户均可使用的功能。我向此 service_account_email 添加了所有者、Cloud Functions Invoker、Service Account Token Creator、Cloud Tasks Service Agent 角色。

0 投票
1 回答
731 浏览

google-cloud-platform - Cloud Tasks + Cloud Functions - 重复执行

我正在同时使用 Google Cloud Tasks 和 Cloud Functions 来并行执行许多任务。

  • Cloud Function 使用 HTTP 触发器进行部署。
  • 我正在一个队列中创建多个 HTTP 目标任务,以便为多个不同的输入调用相同的云函数。
  • Cloud Function 完成的任务涉及调用 HTTP API,这些 API 有时会失败并需要重试。因此,任务队列有maxAttempts= 10。
  • 这个过程每天运行一次,它会在 30 分钟左右的时间内生成大约 11,000 个任务。

它似乎在大多数情况下运行良好,但我见过几次意外行为:有时,Cloud Tasks 认为该函数失败并重试它,即使该函数尚未完成运行,最终成功. 发生这种情况时,我会在队列的日志中看到这一点(队列是使用 创建的--log-sampling-ratio=1.0):

  • Cloud Tasks 创建一个任务。
  • 已尝试调度 1。
  • 云函数执行 1 开始。
  • 云函数执行 1 崩溃。队列的日志显示尝试 1 以“UNAVAILABLE”状态失败,并且按预期尝试分派 2。
  • 云函数执行 2 开始。
  • 即使执行 2 尚未完成,队列的日志显示调度尝试 2 以“不可用”状态失败,然后尝试调度 3。
  • Cloud Function 执行 3 开始。
  • Cloud Function 执行 3 以状态 200 结束。
  • Cloud Function 执行 2 以状态 200 结束。

所以云函数最终成功执行了 2 次。

如文档中所述,我知道 Cloud Tasks 不能保证始终严格执行一次。但是,我仍然想确认是否会出现这种特殊情况以及是否有任何方法可以防止这种情况发生。

0 投票
1 回答
490 浏览

google-app-engine - 更改 GCP Cloud Tasks 队列中的最大并发任务数

我想知道如何更改队列中的最大并发任务数。我知道这可以在 yaml 文件中以某种方式完成,但这是否可以使用终端中的 gcloud 命令?

0 投票
0 回答
82 浏览

google-app-engine - Appengine 任务队列到云任务迁移

我正在迁移一些 Appengine 任务队列以使用 Cloud Tasks API。

许多事情是不同的,其中包括任务队列与云任务中的eta和。据我了解,一个人只能使用而不是在一项任务上,并且必须实现自己的转换器。这是真的还是有另一种“google-native”方式来移植我缺少的倒计时功能?countdownscheduled_timescheduled_timeetacountdowncountdownscheduled_time

相关文档:

A Cloud Task Task
A Cloud Task CreateTaskRequest
Appengine任务队列(请搜索“倒计时”)