使用Python 3.4 Google App Engine Flex。
谷歌documentation使用Python的拉队列说" from google.appengine.api import taskqueue
",但没有解释如何让Python运行时可以使用任务队列。
他们从{"轻松访问Google API"来解释如何通过" pip install google-api-python-client
&#安装api客户端34;
这不会安装任务队列。
从以前的文档中,有link到"安装",其中说:
由于Python客户端库未安装在App Engine Python运行时环境中,因此必须像第三方库一样将它们存入您的应用程序。
此link到另一个页面"使用第三方库",表明您需要将lib安装到/ lib或使用requirements.txt。这些都没有使taskueue可用。
在Google的github中搜索taskqueue.py只会显示一个名称相同的links。
模块上有example module,但没有关于如何安装它的信息。
有一个Python 2.7示例,谷歌指向documentation page,但它不起作用。没有设置taskqueue,没有requirements.txt,没有说明。
此主题here上存在堆栈溢出问题,选中的答案表示要安装SDK。这会将您带到here,它会带您到here,它会带您here,它会带您到here,它会提供用于部署和管理gcloud的gcloud SDK下载。这不包括taskqueue的python库。
还有另一个类似的stackoverflow问题here,它说: here ......现在开始感觉像是一个无限循环。是的,它已经变得清晰,您需要导入任务队列。但如何让它可用?
我已向谷歌支持部门提出这个问题,他们已经能够回答4天了。
我已经打开了两个问题,一个是,另一个是here。还没有答案。
不想使用Python< 3.4。
不想使用HTTP REST API。
只想要一个简单的拉取队列。
答案 0 :(得分:1)
您提到的许多文档都是标准环境文档,不适用于灵活的环境。
来自Task Queue中的Migrating Services from the Standard Environment to the Flexible Environment部分:
任务队列服务的可用性有限 标准环境。如果你想使用以外的服务 在标准环境中,您可以注册Cloud Tasks alpha。
在标准环境之外,您无法向push queues添加任务,但在灵活环境中运行的服务可以是 推送任务的目标。您可以使用 将任务添加到队列或通过指定时的
target
参数queue.yaml
中队列的默认target
。在许多情况下,您可能会使用拉取队列,例如排队 将被单独提取和处理的任务或消息 工人,Cloud Pub/Sub可以提供一个很好的选择 类似的功能和交付保证。