在 Google App Engine 上使用异步 urlfetch 启动后端

2023-12-23

我正在尝试 GAE 的几个功能。

我已经建立了一个Dynamic后端,但我在让这个东西工作时遇到了几个问题没有任务队列

后端代码:

class StartHandler(webapp2.RequestHandler):

    def get(self):
    #... do stuff...    

if __name__ == '__main__':
    _handlers = [(r'/_ah/start', StartHandler)]
    run_wsgi_app(webapp2.WSGIApplication(_handlers))

后端是动态的。因此,每当它接到电话时,它都会做一些事情,然后停止。

当我在处理程序中使用时,一切工作正常:

url = backends.get_url('worker') + '/_ah/start'
urlfetch.fetch(url)

但我希望这个电话是async由于后端可能需要长达 10 分钟才能完成其工作。

所以我把上面的代码改成了:

url = backends.get_url('worker') + '/_ah/start'
rpc = urlfetch.create_rpc()
urlfetch.make_fetch_call(rpc, url)

但随后后端无法启动。我对完成请求或从中获取任何数据不感兴趣。

我错过了什么 - 实施错误?

谢谢你们


使用 RPC 进行异步调用而不调用 rpc 对象上的 get_result() 将不会保证调用 urlfetch。一旦您的代码退出,未完成的待处理异步调用将被中止。

使处理程序异步的唯一方法是将代码放入推送队列中。

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

在 Google App Engine 上使用异步 urlfetch 启动后端 的相关文章

随机推荐

  • Perl - 对象数组

    菜鸟问题在这里 我确信答案是创建对象并将它们存储在数组中 但我想看看是否有更简单的方法 在 JSON 表示法中 我可以创建一个对象数组 如下所示 width 100 height 50 width 90 height 30 width 30
  • UITableView,使页脚停留在屏幕底部? [复制]

    这个问题在这里已经有答案了 我有一个带有页脚的 UITableView 在自定义视图中填充了 tabBar 使用以下代码完成 CGFloat tableView UITableView tableView heightForFooterIn
  • Elasticsearch 提高查询性能

    我正在努力提高查询性能 对于甚至不触及嵌套文档的简单查询 平均需要大约 3 秒 有时甚至更长 curl http searchbox 9200 global user search n 0 sort influence asc q user
  • 如何在 CSS3 下拉菜单中使用(顶部)边距?

    我正在尝试完全用 CSS3 创建一个下拉菜单 在很大程度上我已经完成了我想要的 但由于某种原因我似乎无法添加margin top 10px 下拉菜单 因为我不希望它接触主链接 当悬停到达边缘时似乎会停用它 我在 jsFiddle 上发布了一
  • 如何从 SQL Server 的一行中选择一个值?

    所以我有一张桌子 place id name description availableDirections 1 Room A nice room N W E S 2 Office A messy office N W E S 如何仅获取其
  • Ruby on Rails:errors.add_to_base 与 error.add

    我读过 errors add to base 应该用于与对象相关的错误 而不是特定的属性 我很难概念化这意味着什么 有人可以举个例子说明我什么时候想使用它们吗 例如 我有一个乐队模型 每个乐队都有一个流派 当我验证某个类型是否存在时 如果缺
  • DIV :after - 在 DIV 之后添加内容

    我正在设计一个简单的网站 我有一个问题 我毕竟想要 div 标签有class A 在底部有一个图像分隔符 就在 div 参见图像 红色部分 我正在使用 CSS 运算符 after创建内容 A after content display bl
  • 解析 request.object.get("KEY") 总是返回 undefined

    我这里有一个奇怪的问题 我有一个使用 Parse com 作为后端构建的项目 在建立与数据库的连接时使用 cloudcode 来验证一些事情 一切都按其应有的方式进行 但问题来了 另一位开发人员向我报告说出现了问题 因为每次他尝试调用时都会
  • 使用正则表达式量词 python 时出现关键错误

    我正在尝试捕获 pandas df 中指定股票后面的单词 我有几只以下格式的股票 IBM我正在设置一个 python 正则表达式模式来搜索每条推文中股票后面的 3 5 个单词 如果找到 我的 df 打来电话stock news看起来像这样
  • 是否可以从 .NET 调用 OCaml?

    是否可以将 OCaml 与 NET 代码一起使用 我想像 C 一样调用它 或者也许有一座桥梁 你有没有考虑过CSML http www lexifi com csml 您需要用其接口描述语言编写一些内容 然后应该能够从 NET 调用 OCa
  • 无法在 Jetson TK1 上使用 opencv VideoCapture 打开 gstreamer 管道

    我编写了一个程序 从 gstreamer 管道读取帧 使用 opencv 库处理它们 然后写回 gstreamer 管道 代码片段 cv VideoCapture cap v4l2src video x raw framerate 30 1
  • 正则表达式单词宏找到彼此在一定范围内的两个单词,然后将这些单词斜体化?

    所以 我刚刚开始了解正则表达式 我发现学习曲线相当陡峭 然而 stackoverflow 在我的实验过程中提供了极大的帮助 我想编写一个特定的单词宏 但我还没有找到实现它的方法 我希望能够在文档中找到两个相距不超过 10 个单词的单词 然后
  • 递归重命名文件扩展名

    我很难创建一个 python 脚本来重命名文件夹中的文件扩展名并继续在子目录中执行此操作 这是我迄今为止的脚本 它只能重命名顶级目录中的文件 usr bin python Usage python rename file extension
  • NamespaceContext 以及通过 XPath 使用命名空间

    在 Java 中解析包含名称空间的 xpath 似乎需要使用NamespaceContext对象 将前缀映射到命名空间 url 反之亦然 但是 我找不到任何机制来获取NamespaceContext除了我自己实现之外 这似乎违反直觉 问题
  • xtfrm.data.frame(x) 中的警告:无法 xtfrm 数据帧:在 R 中以数字方式排序数据帧时出错

    我几周前开始学习 R 所以我对 R 编码仍然非常陌生 我试图以数字方式订购数据帧 但在订购的数据帧之上 由于执行函数 order nameofthedataframe 出现 xtfrm data frame x 中的警告 无法 xtfrm
  • 更改 api 上的状态/通知栏颜色低于 21 android?

    我在某些应用程序中看到状态栏颜色可以更改并匹配 api 级别 21 中所做的操作 我搜索并找到了这个解决方案Source https stackoverflow com questions 27093287 how to change st
  • C 编程。 FizzBu​​zz 程序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个测验 我写了这段代码 如果能被 3 整除则打印 Fizz 如果能被 3 整除则打印 Buzz 可被 5 整除 如果是 则打印 Fi
  • GCC 可以忽略函数的静态声明吗?

    在我的应用程序中 我有一个用于伪单元测试的构建配置 这更像是一种手动调试专用功能 在这些单元测试中 我想访问声明为的函数static在他们的翻译单位 GCC 是否有一个选项可以让我打电话static任何地方的功能 我想避免 if UNIT
  • 当 DOM 元素的计算样式发生变化时触发事件?

    有没有非轮询监听元素变化的方法计算风格 https developer mozilla org en US docs DOM window getComputedStyle 这个幻想代码片段应该简洁地解释我的意思 var el docume
  • 在 Google App Engine 上使用异步 urlfetch 启动后端

    我正在尝试 GAE 的几个功能 我已经建立了一个Dynamic后端 但我在让这个东西工作时遇到了几个问题没有任务队列 后端代码 class StartHandler webapp2 RequestHandler def get self d