如何在 GAE 应用程序中执行异步 api 请求?

2023-12-24

我正在开发一个基于 GAE 和 python 2.7.13 的应用程序。我想做的是在处理程序内进行一堆异步 API 调用。像这样的东西:

class MakeRequests(webapp2.RequestHandler):
   def post(self, *v, **kv):
       *do an async api call#1*
       *do an async api call#2*
       *do an async api call#3*

       *wait for response from all of above api requests*
       *make response in a way like if call#1 failes, make it's expected*
       *attributes in response as None, if call#2 succeeds add it's*
       *attributes in response etc. This is just an example.*

为此,我尝试过类似的库asyncio, grequests, requests and simple-requests,它们似乎不起作用,因为它们与GAE或与python 2.7.13。 有人能帮我一下吗?


Urlfetch,默认与 GAE 捆绑在一起有一种进行异步调用的方法 https://cloud.google.com/appengine/docs/standard/python/issue-requests?csw=1#issuing_an_asynchronous_request:

from google.appengine.api import urlfetch

def post(self, *v, **kv):
  rpcs = []
  for url in urls:
    rpc = urlfetch.create_rpc()
    urlfetch.make_fetch_call(rpc, url)
    rpcs.append(rpc)

  results = [rpc.get_result() for rpc in rpcs]
  # do stuff with results

如果由于某种原因您不想使用 urlfetch,您可以使用以下命令手动并行化请求线程 https://docs.python.org/2/library/threading.html#thread-objects and a 同步队列 https://docs.python.org/2/library/queue.html读取结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 GAE 应用程序中执行异步 api 请求? 的相关文章

  • API 调用 datastore_v3.Put() 的请求太大

    我正在使用 google cloud sql 和 appengine 我正进入 状态com google apphosting api ApiProxy RequestTooLargeException The request to API
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 绘制与Fig.show()内联的IPython Notebook图形?

    我正在使用 IPython Notebook 调用内联模式 pylab inline 以下代码立即在单元格处绘制一个图形 fig plt figure axes fig add axes 0 0 1 1 不过 我想在一个单元格中创建绘图 轴
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某

随机推荐

  • MongoDB:如何将嵌套数组分组到一个文档中?

    我有以下收藏 id 23423 dsfsdf 32423 name Proj1 services id sdfs 24423 sdf name P1 Service1 products id sdfs 24jhh sdf name P1 S
  • dart中的完整路径和相对路径有什么区别

    我开发了一个 flutter 应用程序 在 model 包中定义了多个模型 然后我声明一个类Example例如 在 模型 中 模型 示例 dart class Example override String toString return
  • C# 如何在控制台应用程序中制作水平条形图

    我需要制作一个水平条形图来表示直方图字典中数字的出现情况 我尝试过使用 Console BackgroundColor 但是 这显然只会使线条背景色变成蓝色 static void Main string args string Speac
  • 为什么 '\97' ascii 值等于 55

    就像C code include
  • 尝试序列化 avro 记录时,B 无法转换为 java.nio.ByteBuffer

    我编写了一个小型 Java 程序 该程序应该监视目录中的新文件并将它们以 binay Avro 格式发送到 Kafka 主题 我是 Avro 新手 我使用 Avro 文档和在线示例编写了这篇文章 监控部分运行良好 但程序在运行时到达 Avr
  • 使用 jQuery 在网页上突出显示字符串的字符

    我想使用 jQuery 在网页上某个值的索引处突出显示字符串的字符 该值是可变的 一次位于索引 2 下一次位于索引 3 var copy I am learning how to program letter text copy code
  • AttributeError:未知的属性密度[重复]

    这个问题在这里已经有答案了 我试图掌握 SciPy 但我被困住了Unknown property density错误 即使我从官方复制了整个代码SciPy 文档 https docs scipy org doc scipy referenc
  • Javascript - 清除数组对象中的重复项

    你好 我有一个 javascript 数组对象 表示在给定国家 地区销售的商品数量 如下所示 var data c1 USA c2 Item1 c3 100 c1 Canada c2 Item1 c3 120 c1 Italy c2 Ite
  • 日期挑选和寻找差异

    我是使用 Netbeans 进行 Java 编程的新手 我已将 jCalendar 添加到我的 GUI 中以选择日期 我已在 jCalendar 按钮的 事件 gt 属性更改 代码中输入了这一行 Date date jcalendar1 g
  • 显示 scipy 树状图的簇标签

    我正在使用层次聚类来对词向量进行聚类 并且我希望用户能够显示显示聚类的树状图 然而 由于可能有数千个单词 我希望这个树状图被截断为一些合理的有价值的 每个叶子的标签是该簇中最重要的单词的字符串 我的问题是 根据文档 http student
  • ionic 2:在 3x3 表格中显示项目数组

    我有一个项目数组 我想在 3x3 表格中显示 如下所示 为了实现这一点 我将数组切成 3 个数组 每组 3 个 并显示如下
  • Android J2ME 或 Java SE 中使用的是哪个版本的 Java?

    Android J2ME 或 Java SE 中使用的是哪个版本的 Java 每个人都在这里 但让我稍微澄清一下整个过程 它是如何工作的 我们使用标准 J2SE 发行版中的普通 Java 编译器并生成 class 文件 也称为 Java V
  • 如何在 ASP.NET MVC4 表中执行简单的多项选择

    这是我的观点 model Affiliate div class box paint color 16 div class title h4 i class icon tasks i span Model CompanyName s Com
  • 以十六进制编码/解码字符串并返回

    给定一个可能包含任意字符 包括unicode字符 的字符串 如何将这个字符串转换为十六进制表示 然后反转得到这个字符串的十六进制 Use pack and unpack function hex2str hex return pack H
  • 在lua中表示unichar的方式是什么

    如果我需要以下 python 值 unicode char 0 gt gt gt unichr 0 u x00 我如何在Lua中定义它 没有一个 Lua 没有 Unicode 值的概念 Lua没有Unicode的概念at all 所有Lua
  • 使用 Java 创建 .eml(电子邮件)文件

    有人知道该怎么做吗 我获取了电子邮件的所有信息 正文 主题 发件人 收件人 抄送 密件抄送 并且需要从中生成 eml 文件 您可以使用以下代码创建 eml 文件 它可以与雷鸟以及其他电子邮件客户端一起正常工作 public static v
  • 如何从 Intellij IDEA 访问 cassandra 数据库

    我在2018年10月16日安装了intellij idea 2018 2 5 我正在尝试添加到面板 数据库 cassandra 为此 我转到 Intellij 中的 数据源和驱动程序 设置并添加 cassandra 的驱动程序 gt 图片来
  • 捕获图像,上传到 Firebase 并检索 Java Android Studio

    如果这可能是一个有简单解决方案的问题 我感到非常抱歉 我想做什么 从按钮捕获图像 将该图像上传到 Firebase 存储 在 ImageView 中检索该图像 到目前为止我遇到了什么麻烦 拍照 但当我单击勾号时崩溃 因此 没有任何内容被上传
  • 如何在黑莓手机中使用相机扫描图像?

    我已经开始了一个项目 我想在其中实现二维码扫描功能 举个例子 android 中的 ZXing 我想为黑莓操作系统 6 及更高版本实现 我想使用相机扫描实时图像 是否可以 如果是的话 那怎么可能呢 您必须使用条形码 API 它是针对 OS
  • 如何在 GAE 应用程序中执行异步 api 请求?

    我正在开发一个基于 GAE 和 python 2 7 13 的应用程序 我想做的是在处理程序内进行一堆异步 API 调用 像这样的东西 class MakeRequests webapp2 RequestHandler def post s