首页 > 解决方案 > Google Cloud Tasks 未分派 HTTP 请求

问题描述

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

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

gcloud tasks queues create default

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

gcloud tasks create-http-task --queue=default --url=https://google.com --method GET

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

在此处输入图像描述

我已经启用了日志记录:

gcloud tasks queues update default --log-sampling-ratio=1.0

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

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

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

标签: google-cloud-rungoogle-cloud-tasks

解决方案


万一其他人对此运行,还有一个启用 Google Cloud Tasks 的技巧。

确保在您的项目上设置了 App Engine 后,您还需要确保应用程序本身没有被禁用!事实证明,我参与的项目很多年前就在使用 App Engine,唯一的应用程序在 App Engine 设置中被禁用。再次启用此功能可使一切按您的预期工作。

您可以通过转到“App Engine”、“设置”,然后选中“禁用应用程序”设置来找到设置。

祝所有阅读本文的人好运!

在此处输入图像描述


推荐阅读