问题标签 [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 回答
455 浏览

google-cloud-platform - Google Cloud Tasks:在计划 ETA 之前运行任务

我有一个用例,我在事件发生后将任务安排到未来 24 小时。这个任务代表了其他事情发生的某种“截止日期”。

计划任务触发报告的创建。如果此时还没有完成所有上述“其他事情”,那么触发的报告创建过程无论如何都会使用它当时拥有的信息来创建它。

另一方面,如果所有其他事情这 24 小时之前完成,那么理想情况下,我想重新使用相同的 Google Cloud Task 来触发相同的过程(因为它与前一个案例相同,但将包含所有可能的信息)。

我想实现上述目标的最简单方法是:

  • 将任务安排到未来 24 小时
  • 如果所有信息都到达:在预定时间之前提前运行任务

但是,通过阅读 Google Cloud Tasks 文档,我看不到提前运行任务的选项。但是,该功能确实存在于 Cloud Tasks 控制台中,所以我想知道它是否在文档和客户端库中可用。

谢谢!

0 投票
2 回答
203 浏览

node.js - 使用服务帐户进行 queue.yaml 部署的角色

我正在尝试部署我们app.yamlqueue.yaml使用以下命令:

我用角色创建了一个新的服务帐户

  • App Engine 部署程序
  • App Engine 服务管理员
  • Cloud Build 服务帐号

用于部署app.yaml,它本身就可以工作。尝试部署时queue.yaml,我收到以下错误:

我还尝试了以下角色:

  • 云任务管理员
  • 云任务队列管理员
  • 云任务服务代理

我现在正在使用项目编辑角色,它可以工作,但我只想允许实际需要的角色。

0 投票
1 回答
281 浏览

google-kubernetes-engine - 如何将 Kubernetes 服务指定为 Google Cloud 任务的 HTTP 目标?

我有一个在 Google Kubernetes Engine 上运行的 nodejs express 服务器,在某个 IP(比如 10.0.20.20)上作为 NodePort 服务公开。

我想将此 nodejs 服务用作 Google Cloud 任务的处理程序,因此我创建了以下任务(使用 Python 库):

该任务已成功创建,但是,它会卡在队列中,永远重试。如何设置我的服务,以便可以从 Google Cloud 任务访问它?

0 投票
0 回答
174 浏览

node.js - 我应该为 Google Cloud Tasks 的每个任务中的每个任务创建新的 PubSub 实例吗?

我正在研究将从 Google Cloud PubSub 中提取的代码。此代码由 Google Cloud Tasks 使用 AppEngine 运行。我在主题中创建了一个新订阅,所有任务实例都将从这个订阅中提取。由于任务有时会被 Cloud Tasks 杀死,我希望我可以通过重放将在失败的任务执行开始时创建的快照来重放整个事件。每个任务都将从主题中自己的订阅中提取。

对于这种情况,推荐的方法是什么:我应该使用单个共享 PubSub 实例,export myPubSub = new PubSub({projectId})然后让每个任务都使用 shared myPubSub,还是应该为每个任务(包括失败的任务)创建一个新的 PubSub 实例?

Cloud Tasks 将调用端点来启动新任务,如果我使用单个共享 PubSub 实例方法,我相信该实例将为同一个 App Engine 实例中的所有任务共享。与为每个新任务创建新的 PubSub 实例相比,这会有更好的性能吗?

0 投票
0 回答
258 浏览

node.js - 使用云任务和云功能

我在这里尝试将云任务与云功能一起使用,这样当我收藏的某个字段设置为 true 时,任务会在 24 小时后自动将其设置为 false。但我不太了解使用云任务和云功能的一切,所以我真的需要一些帮助......

如何获取 Trigger onUpdate Cloud 函数的 userId 的值以发送到 Http 云函数中,以便我可以使用它来更新特定字段,即地图?

这是我的功能:

谢谢,

0 投票
1 回答
156 浏览

google-app-engine - 如何以编程方式配置云任务队列

开发人员感谢您提出这个问题,我希望您能帮助我摆脱这种情况。

我是谷歌云服务的新手,我正在学习云任务,我必须以编程方式创建队列并添加一些参数,如处理速率、存储桶大小。到目前为止,我无法找到任何解决方案。

我正在通过以下方式创建队列

如何添加处理速率、存储桶大小和最大并发速率等参数

0 投票
1 回答
331 浏览

google-cloud-platform - 谷歌云任务队列未并行运行

我在谷歌云中有一个项目,其中有 2 个任务队列:process-request接收请求并处理它们,send-result将处理请求的结果发送到另一台服务器。它们都在一个名为的实例上运行remote-processing

我的问题是我看到任务正在排队,send-result但它们仅在process-request队列为空并处理完所有请求后才执行。这是实例配置:

这是队列配置:

澄清:我不需要队列以特定顺序运行,但我觉得很奇怪,看起来保险一次只运行一个队列,所以它只会在完成后运行另一个队列中的任务与当前队列。

0 投票
1 回答
441 浏览

google-cloud-run - Google Cloud Tasks 未分派 HTTP 请求

我将首先说我是使用 Google Cloud Tasks 的新手,所以如果这是一个明显的问题,请原谅我。

我使用gcloud以下命令创建了一个新的 Cloud Task 队列:

然后,我继续从 Ruby on Rails 应用程序和使用以下命令的命令行将任务添加到队列中:

然后我看到任务被添加到队列中,但从未发出 HTTP 请求。队列本身也表示没有“队列中的任务”,即使我所做的任务列在此消息下方的任务列表中:

在此处输入图像描述

我已经启用了日志记录:

并且可以在日志中看到正在创建的任务,但没有单个任务的日志。

我正在调用的 Cloud Run 服务已公开访问,如果我手动将任务有效负载发布到它工作的任务中的 url。我正在使用 GET google.com,因为我认为它可以可靠地访问。

有人能告诉我我做错了什么吗?这是我需要整理的最后一项,以结束我们的项目迁移到 Google Cloud!谢谢!

0 投票
1 回答
31 浏览

google-app-engine - 用于从应用程序引擎 flex 检查任务队列长度的 API?

是否有 API 可以从应用引擎 flex 中检查任务队列的积压工作?App Engine Standard 具有 com.google.appengine.api.taskqueue.Queue.fetchStatistics API,但在 App Engine Flex 中似乎失败并出现错误:com.google.apphosting.api.ApiProxy$CallNotFoundException: Can't make API call taskqueue .FetchQueueStats 在一个既不是原始请求线程也不是由 ThreadManager 创建的线程的线程中

0 投票
0 回答
87 浏览

google-cloud-platform - Google Cloud Tasks 未随机执行任务

Google Cloud Tasks 有时似乎不可靠。我添加了一堆任务,有时这些任务没有被执行。

当我检查控制台时,它显示“队列中有 11 个任务”。但是,这些任务未在下面列出(通常显示正确)。

在此处输入图像描述

这是我创建队列的方式(更新插入):

这是我添加任务的方式:

相同的代码有时有效,有时只是在执行时卡住了!