0

使用 Python 3.4 Google App Engine Flex。

关于使用 Python 使用拉取队列的Google文档from google.appengine.api import taskqueue说“ ”,但没有解释如何使任务队列可用于 Python 运行时。

他们确实链接到“从 Python 轻松访问 Google API”,其中解释了如何通过“ pip install google-api-python-client”安装 api 客户端

这不会安装任务队列库。

在上一个文档中,有一个指向“安装”的链接,其中显示:

由于 Python 客户端库未安装在 App Engine Python 运行时环境中,因此它们必须像第三方库一样供应到您的应用程序中。

链接到另一个页面“使用第三方库”,该页面指出您需要将 lib 安装到 /lib 或使用 requirements.txt。这些都不能使 taskueue 可用。

在 Google 的 github 中搜索 taskqueue.py 只显示了一个同名的示例模块。

该模块上有一个文档页面,但没有关于如何安装它的信息。

谷歌在此处指出了一个 Python 2.7 示例,但它不起作用。没有任务队列的设置,没有requirements.txt,没有说明。

这里有一个关于这个主题的堆栈溢出问题,选中的答案是安装 SDK。这会带你到这里,它会带你到这里,它会带你到这里,它会带你到这里,它提供了用于部署和管理 gcloud 的 gcloud SDK 下载。这不包括任务队列的 python 库。

这里还有另一个类似的 stackoverflow 问题,上面写着: 在此处输入图像描述 ......现在开始感觉像是一个无限循环。是的,已经很清楚您需要导入任务队列。但是你如何使它可用?

我已经向 Google 支持人员提出了这个问题,他们已经 4 天没能回答了。

我已经打开了两个问题,一个在这里,另一个在这里。还没有答案。

不想使用 Python < 3.4。

不想使用 HTTP REST API。

只想要一个简单的拉队列。

4

1 回答 1

1

您提到的许多文档都是标准环境文档,不适用于柔性环境。

从将服务从标准环境迁移到灵活环境中的任务队列部分:

任务队列服务在标准环境之外的可用性有限。如果您想在标准环境之外使用该服务,可以注册Cloud Tasks alpha

在标准环境之外,您不能将任务添加到推送队列中,但在柔性环境中运行的服务可以成为推送任务的目标。您可以 target在将任务添加到队列时使用参数或通过在 中指定队列的默认值target来指定这一点queue.yaml

在许多可能使用拉取队列的情况下,例如排队将由单独的工作人员拉取和处理的任务或消息,Cloud Pub/Sub可能是一个很好的选择,因为它提供了类似的功能和交付保证。

于 2017-08-17T20:26:13.597 回答