gpt4 book ai didi

google-app-engine - Google App Engine 托管虚拟机/灵活环境中的推送队列问题

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:01 26 4
gpt4 key购买 nike

我在 Google App Engine 的灵活环境(正式名称为他们的托管 VM 环境)上使用推送队列时遇到问题。我收到许多 404 Instance Unavailable(见下图)。

经过一些调查,我相信这些错误可能是因为我正在向任务队列添加任务,然后部署新版本的灵活 VM 实例。我之前推送的任务队列被锁定到旧实例,无法再运行。这是任务队列与 Flexible VM 一起工作的方式吗?如果是这样,如何将推送任务队列与灵活 VM 一起使用?

taskqueue instance unavailable

最佳答案

当我遇到同样的问题时,我已经完成了 90% 的迁移到 flexible env。经过广泛的研究,我总结出三种选择:

REST API(实验性)

将 beta REST API 用于任务队列(这与来自 flexible env 的所有其他 google API 一样,是外部的,因此您需要适本地处理身份验证)。

REST API 引用:https://cloud.google.com/appengine/docs/python/taskqueue/rest/

请注意,这是外部的和实验性的。查找例如这里没有任何有意义的文档的 java sdk:https://developers.google.com/api-client-library/java/apis/ (当前版本:https://developers.google.com/api-client-library/java/apis/taskqueue/v1beta2)

兼容运行时

基于 -compat 运行时构建您自己的灵活环境。这在适合灵活环境的容器中提供了旧的 appengine api:

https://cloud.google.com/appengine/docs/flexible/custom-runtimes/build (查找最后一列中带有“YES”的图像)

例如:https://cloud.google.com/appengine/docs/flexible/java/dev-jetty9-and-apis

https://cloud.google.com/appengine/docs/flexible/java/migrating-an-existing-app

注意:我花了两个星期的时间在极度沮丧中恳求每一位全能的上帝帮助我让它工作,跟随容器兔子洞进入路西法灵魂的深处并跨越未探索的维度。我最终不得不屈服。我就是无法使它达到令人满意的程度。

代理服务

一种替代方案,但它完成了工作:创建一个非常薄的标准环境包装器服务,将任务代理到您的队列中/从您的队列中移出。根据需要将它们传递给您自己的应用程序。 ¯\_(ツ)_/¯

缺点是您现在正在启动额外的实例并消耗额外的时间。

我最终得到了这个变体,我在标准环境中使用代理服务,但只是将我最终的任务处理程序移植到 AWS Lambda(因此它完全脱离了 GAE)。这是一场不同的灾难,但更易于管理。

祝你好运!

关于google-app-engine - Google App Engine 托管虚拟机/灵活环境中的推送队列问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com