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

java - 由于 java.lang.RuntimeException:ManagedChannel 分配站点,我无法定期创建 GCP 任务

我按照https://cloud.google.com/tasks/docs/creating-appengine-tasks中的描述创建任务

它适用于 99% 的情况,但有时我会遇到以下异常:

QueueService 内部方法代码:

0 投票
1 回答
342 浏览

google-cloud-platform - 参数 --max-dispatches-per-second:无效的浮点值:'6/m'

我正在使用cloud tasks,我想设置maxDispatchesPerSecond6/m.

当我尝试使用以下命令更新我的应用程序引擎队列时:

我怎么能这样?

0 投票
1 回答
502 浏览

node.js - 有效负载到达工作人员时变得未定义

所以,我正在尝试将任务发送到谷歌云任务队列,但是当它到达那里时,它变得未定义。这是我的代码的快照。我究竟做错了什么?

我正在使用 node.js 和框架 Adonis.js 来做这件事。有效负载包含一个带有用户信息的对象。类似:{ first_name: 'Bla', last_name: 'Bla bla', email: 'bla@bla.com'} 等等。我已经完成了以前真正有效的任务,但我找不到那个错误......所以,这是我的代码片段:

这是我创建任务的地方:

这是我的任务类(顺便说一句,我这样做就像 Cloud Tasks 文档一样):

这是将接受任务的工人:

在到达工人之前,我期待着与我描述的相同的对象,但我只能得到一个“未定义”的值。你们能帮帮我吗?谢谢!:D

0 投票
1 回答
993 浏览

javascript - 如何覆盖 Google Cloud Tasks Node.js 客户端的重试配置

我一直在尝试探索是否有办法重试createTask 函数。原因是因为我不时遇到截止日期超出错误,如下所示:

错误:4 DEADLINE_EXCEEDED:Object.exports.createStatusError (/srv/node_modules/grpc/src/common.js:91:15) 超过 Object.onReceiveStatus (/srv/node_modules/grpc/src/client_interceptors.js:1204) :28) 在 InterceptingListener._callNext (/srv/node_modules/grpc/src/client_interceptors.js:568:42) 在 InterceptingListener.onReceiveStatus (/srv/node_modules/grpc/src/client_interceptors.js:618:8) 在回调 ( /srv/node_modules/grpc/src/client_interceptors.js:845:24)

阅读 createTask 函数背后的代码,我发现默认的超时配置只有 10 秒。

目前,我试图通过这样做将超时时间延长到 30 秒(我相信这是最大值):

它似乎有效。但是,如果 API 无法在 30 秒内响应,我也想介绍一下这种情况。

我试过这段代码:

但我没有看到 createTask 被重试。但是根据这里的评论,我们应该能够覆盖包括重试在内的默认设置。

我究竟做错了什么?请帮忙。

0 投票
0 回答
286 浏览

google-app-engine - 谷歌云任务孤立

我有一个 App Engine flex 应用程序,它接受一些后台计算的请求并将它们放入任务队列中进行处理。请求以相当恒定的速率从另一个进程发送。重新部署后,请求的处理速度非常快(毫秒),但随后延迟迅速增加到几秒钟,然后是几分钟,然后完全阻塞。我在 Cloud Tasks 中注意到队列中没有任务时正在运行的任务。这些似乎正在耗尽实例资源并停留数小时,远远超过任何超时。一旦我的实例被这些任务阻塞,我的其他进程似乎无法在没有超时的情况下发出请求,即使超时非常高。使用自动缩放,我认为 App Engine 应该启动更多任务来处理传入请求(source)。

任务处理程序并不是非常复杂。他们只是在 Google Spanner 数据库上执行一些操作,并从 GCS 读取/写入(IO 密集型)。

应用配置:

队列配置:

孤立的任务 延迟增加

0 投票
1 回答
818 浏览

google-cloud-platform - 如何在 App Engine 之外使用 Google Cloud Task?

我正在谷歌云中构建一个 python 应用程序。这涉及延迟执行任务。

看来,云任务仅限于 App Engine。

我们可以使用来自 GCE 虚拟机或运行在 GCP/其他云虚拟机中的容器的云任务吗?

即使是谷歌文档也只有应用引擎的推送队列。

云任务是否支持拉取队列?

[编辑]

我尝试查看他们的云发现文件。v2beta1有拉引用,但v2没有。我相信 GCP 将来不想支持这一点:-(。

0 投票
1 回答
622 浏览

google-app-engine - 如何确保应用引擎应用仅对 Google Cloud Task 可用?

我想创建一个任务处理程序,它应该通过重试等来处理一些任务。

但我希望这个端点只能由谷歌任务中的特定队列触发?

我该怎么处理?最佳做法是什么?

此致

0 投票
1 回答
246 浏览

node.js - Node.js 中 GAE 基本扩展的并发性

我正在尝试通过将 Google Cloud Tasks 与运行 node.js 的 Google App Engine 一起使用来运行长任务(> 10 分钟)。

目标是其他应用程序会将数百个任务推送到 Cloud Tasks 队列,并且 Google App Engine 的每个实例都会一个一个地处理这些任务。我正在使用所谓的basic_scaling选项来允许任务运行长达 24 小时(与 10 分钟限制相比automatic_scaling)。

目前它可以工作,但似乎一个实例一次处理多个请求。

有没有办法使用“基本”扩展选项来限制每个实例的最大并发请求?

0 投票
1 回答
17 浏览

google-cloud-tasks - addQueue.leaseTasks(options) 返回空参数 []

addQueue.leaseTasks(options) 返回空参数 []

当我尝试获取数据时,我创建了一个添加数据的队列 TaskHandle 有一个空的 parms[]

//加入队列 Queue addQueue = queueService.addQueue(); TaskHandle 任务 = addQueue.add(mapFundToTask(fund));

0 投票
1 回答
1405 浏览

google-api - 使用 HttpRequest 作为 payload_type 时,Google Cloud Tasks 始终将 HttpMethod 设置为 GET

根据此文档 [ https://cloud.google.com/tasks/docs/creating-http-target-tasks ],应该能够创建类型为“http_request”且“http_method”设置为“POST”的任务,但是一旦始终使用方法“GET”创建任务,行为就不是预期的。

在使用 Python 客户端库时遇到此问题后,我决定直接尝试 API 并检查是否是库或 API 本身的问题。

使用产品文档页面 [ https://cloud.google.com/tasks/docs/reference/rest/v2beta3/projects.locations.queues.tasks/create ] 中的“试用此 API”,我尝试创建使用 http_request 和 app_engine_http_request 类型的类似任务,并且始终将 http_method 设置为 POST。

如果我这样设置请求正文:

...任务已创建,方法是 POST,如预期的那样。但是,如果我将请求正文设置为:

...任务已创建,但使用方法 GET 而不是 POST。

这是我在队列中得到的:

![队列中的任务。](https://drive.google.com/file/d/1cxWc43BiWDPOYekAmFMAcMZygG5dYmx6/view?usp=sharing)

我相信这是一个错误,这就是为什么我在这里使用支持页面上推荐的标签 google-apis-explorer 报告它的原因。

无论如何,如果有人能告诉我我是否做错了什么,或者在此期间是否有任何解决方法,我将不胜感激。

谢谢!