首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python oauth2client异步

Python oauth2client异步
EN

Stack Overflow用户
提问于 2016-03-14 19:29:37
回答 1查看 1K关注 0票数 2

我正在与龙卷风和官方蟒蛇oauth2clientgcloud.模块。

这些模块接受与http=一起传递的另一个http客户端,只要它有一个名为request的方法,该方法可以由这些库中的任何一个库调用,只要http请求必须发送到谷歌和/或使用刷新令牌更新访问令牌。

我创建了一个具有self.client = AsyncHttpClient()的简单类,然后在它的request方法中返回self.client.fetch(...)

我的目标是能够对任何这些库调用进行yield,这样龙卷风就可以在yield中执行它们。

问题是,它们高度依赖于将默认客户端设置为httplib2.Http()返回的内容:(响应,内容)

我真的被困住了,找不到一种干净的方法来完成这个异步。

如果有人已经找到办法,请帮忙。

提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-14 20:24:23

这些库不支持异步。移植过程并不总是容易的。

oauth2client

取决于您想要做什么,也许GoogleOAuth2Mixin龙卷风-阿尔夫就足够了。

gcloud

由于我不知道gcloud-python的任何旋风/异步实现,所以您可以:

  • 你可以自己写。同样,这不是Connection.httprequest的简单传输变化,周围的所有东西都必须能够使用/产生未来/协同。
  • ThreadPoolExecutor包起来(正如@Apero提到的那样)。这是高级别的API,因此在该结果中的任何嵌套api调用都将在同一个线程中执行(而不是使用池)。可能会很好的。
  • 外部应用程序(包括ProcessPoolExecutorPopen)。

几年前,当我遇到类似的AWS问题时,我已经异步地执行了CLI (龙卷风+ subprocess.Popen +一些cli (awscli,或基于boto的))和简单的情况(比如S3,基本EC2操作)和普通AsyncHTTPClient。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35996377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档