问题标签 [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.
google-app-engine - 对数据存储和云任务的初始请求具有更高的延迟,这正常吗?
我的应用引擎服务是用 Go 编写的。在服务器侦听端口之前,我有连接到 Cloud Datastore 的代码。有一个 Projection 查询需要大约 500 毫秒才能读取 4 个实体。由于需要建立连接,与数据存储的第一次交互是否可能具有更高的延迟?有什么办法可以减少这种数据存储连接延迟?此外,在侦听端口之前执行此 db 调用与在预热请求中执行此操作有什么区别(这是一个自动缩放的实例)。
与 Cloud Datastore 的高初始延迟类似,我看到 Cloud Tasks 的模式类似。初始任务创建可能高达 500 毫秒,但即使是后续任务也可能在 200 到 400 毫秒之间。这是在我们中心。我实际上正在考虑将数据库更新移动到后台任务,但总的来说,我看到任务创建的延迟与执行事务以读取和更新数据几乎没有任何净收益相同。
最后,实例启动时间通常为 2.5 到 3 秒,主程序在大约 2 秒后被调用。我的应用程序启动时间是上面提到的 500ms 的项目查询成本,仅此而已。所以,无论我如何优化我的应用程序启动,我是否应该假设额外的延迟约为 2 秒?
请注意,系统上的负载非常轻,因此这些问题不可能是因为容量大。
更新:Miguel 要求的部署文件(这是用于调查性能特征的测试环境。Prod 部署对于实例来说会更慷慨)
默认应用:
后端应用:
performance - "Google Cloud Tasks", performance of task creation
I have "Google cloud function" in region europe-west1 (Belgium) which creates tasks in "Google cloud task queue" located in europe-west3 (Germany). It's similar to tutorial: https://cloud.google.com/tasks/docs/tutorial-gcf
It takes about 1-2 seconds for cloud function to create a task. It's not optimized solution because CF has to wait idle so long.
How to optimize task creation time?
Will moving of Cloud function and Task queue to one region significantly improve task creation speed?
Can I just stop cloud function when send "task queue creation" request and don't wait for response? Of course, it's bad practice and I would like to avoid this.
java - Add Parameters to Google Cloud Tasks
I want to add a parameter to the Cloud Tasks that can then be retrieved from the Task handler using:
Previously in App Engine Standard I would do the following:
How do I accomplish the same using the Cloud Tasks java client library. It seems like in the AppEngineHttpRequest builder there should be a setParameter option but that doesn't exist.
google-app-engine - 没有可用于谷歌云任务的日志?
我在 Google App Engine 中设置了一个非常基本的 Flask 应用程序:
我通过在终端中运行它来启用日志记录:gcloud beta tasks queues update [QUEUE_ID] --log-sampling-ratio=1.0
我通过向我的 Flask 端点添加 POST 请求来故意触发错误。我在队列中看到这个任务重试了很多次,但是当我点击日志时,我看到了这个(任务名称和队列名称故意为这个屏幕截图修改):
我期待看到我从中得到的错误,gcloud app logs read
即:
2019-11-18 16:27:59 default[20191118t002408] "POST /example_task_handler" 405
我究竟做错了什么?
更新:我确实在 Google App Engine 日志中看到了我正在寻找的日志,但是当我单击单个失败的 POST 请求任务的日志时,我没有看到任何内容。
google-iap - 无法从 Cloud Tasks HTTP 请求向 Cloud IAP 后端进行身份验证
我正在尝试使用 Cloud Tasks HTTP 请求到达受 Cloud IAP 保护的 HTTPS 负载均衡器后面的 Kubernetes 端点。
端点可以使用任何 Gsuite 公司帐户正常工作,但是当 Cloud Task 执行时,这是 Cloud Audit - Data Access 日志(仅显示重要部分)
我正在使用计算引擎服务帐户来创建任务,因此我已授予此帐户适当的权限:
创建任务时,我将适当的 OIDC 服务帐户电子邮件添加到 http 请求
我还检查了另一个端点上的 Cloud Tasks HTTP 请求,并且存在身份验证承载令牌。
在这一点上,我真的不知道如何使它工作。谢谢您的帮助
google-app-engine - 如何在 App Engine 任务队列中设置最大重试值?
我有以下重试参数:
但是当我检查队列时,我看到像45
. 我已将其设置task-retry-limit
为 7。那么为什么会超出此范围呢?如何设置最大重试值?我正在使用带有基于推送的任务队列和 Java 8 env 的 App Engine 标准。谢谢。
google-app-engine - 批量排队 Google Cloud 任务
作为将我的 Google App Engine 标准项目从 python2 迁移到 python3 的一部分,看起来我还需要从使用 Taskqueue API 和库切换到 google-cloud-tasks。
在任务队列库中,我可以像这样一次将多达 100 个任务排入队列
以及异步排队任务。
在新库和新 API 中,您似乎一次只能将任务排入队列
- https://cloud.google.com/tasks/docs/reference/rest/v2/projects.locations.queues.tasks/create
- https://googleapis.dev/python/cloudtasks/latest/gapic/v2/api.html#google.cloud.tasks_v2.CloudTasksClient.create_task
我有一个端点,它接收包含数千个元素的批次,每个元素都需要在单个任务中处理。我该怎么办?
python - 使用 Cloud Task、Cloud Functions 和 GAE 快速创建云任务
我正在使用 App Engine 根据列表中的项目触发多个 Cloud Tasks 的创建:
当前使用以下命令创建任务:
上面的代码并行创建任务并指示任务队列将有效负载定向到该特定云功能。
并行执行此操作是快速创建任务的正确方法吗?
google-cloud-platform - 云任务未按时运行
我要做的是在预定时间使用云功能和云任务更改firestore中的数据。但是云任务没有按时运行。它在添加任务后立即执行。
我的代码是这样的。
index.js
我想在执行doSomething
后 3 分钟运行函数addTasks
。我有什么问题?
google-app-engine - 如何对 Google Cloud App Engine 任务处理程序进行身份验证
我有一个 App Engine 工作人员来处理我的 Google Cloud Tasks 队列的请求。我如何验证来自我的任务队列的请求,因为它允许来自任何其他主机或客户端的请求?
我尝试阅读 App Engine 任务request headers
,但我认为这不足以验证请求。
此外,如何验证来自同一 Google 云项目(如internal
服务)的请求?