Google Cloud Tasks 未分派 HTTP 请求
Posted
技术标签:
【中文标题】Google Cloud Tasks 未分派 HTTP 请求【英文标题】:Google Cloud Tasks not dispatching HTTP requests 【发布时间】:2020-08-24 08:28:24 【问题描述】:我首先要说我是使用 Google Cloud Tasks 的新手,所以如果这是一个明显的问题,请原谅我。
我使用gcloud
和命令创建了一个新的云任务队列:
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!谢谢!
【问题讨论】:
【参考方案1】:万一其他人对此运行,还有一个启用 Google Cloud Tasks 的技巧。
确保在您的项目上设置了 App Engine 后,您还需要确保应用程序本身没有被禁用!事实证明,我参与的项目很多年前就在使用 App Engine,唯一的应用程序在 App Engine 设置中被禁用。再次启用此功能可使一切按您的预期工作。
您可以通过转到“App Engine”、“设置”,然后选中“禁用应用程序”设置来找到该设置。
祝所有阅读本文的人好运!
【讨论】:
我花了一个小时试图弄清楚这一点!非常感谢,好心的陌生人以上是关于Google Cloud Tasks 未分派 HTTP 请求的主要内容,如果未能解决你的问题,请参考以下文章
Google Cloud Tasks ImportError:无法导入名称“resource_pb2”
Google Cloud Tasks 无法向 Cloud Run 进行身份验证
Google Cloud Tasks 和 Google App Engine Python 3
每个任务都无法在 Google Cloud Tasks 上执行
使用 HttpRequest 作为 payload_type 时,Google Cloud Tasks 始终将 HttpMethod 设置为 GET