ndb async 是否保证在应用程序请求完成后执行?

2024-01-31

我正在使用 ndb 编写一个分析模型,该模型根据应用程序请求记录一些数据。每个请求通过ndb.put_async调用一个ndb请求来记录数据,而客户端不关心结果。本质上,我不希望应用程序请求等待保存统计数据以进行分析。

然而,我对官方文档的解释感到困惑。如果应用程序请求在 ndb 请求完成之前完成,是否仍能保证 ndb 请求完成?文档表明

如果请求处理程序存在得太早,则 put 可能永远不会发生

在什么标准下会发生这种情况?这是否意味着无论用户是否关心结果,都需要调用 future.get_result 来确保执行 ndb 请求?

原始文档(https://developers.google.com/appengine/docs/python/ndb/async https://developers.google.com/appengine/docs/python/ndb/async) says:

在这个例子中,调用 future.get_result 有点愚蠢: 应用程序从不使用 NDB 的结果。该代码就在那里 确保请求处理程序在 NDB put 之前不会退出 完成;如果请求处理程序退出得太早,则 put 可能永远不会 发生。为了方便起见,您可以用以下方式装饰请求处理程序 @ndb.toplevel。这告诉处理程序不要退出,直到它 异步请求已完成。这反过来又可以让你送走 请求而不担心结果。


如果应用程序请求在 ndb 请求完成之前完成,是否仍能保证 ndb 请求完成?

No.

这是否意味着无论用户是否关心结果,都需要调用 future.get_result 来确保执行 ndb 请求?

基本上是的,但是为了方便起见,您可以使用 ndb.toplevel 装饰器,这样您就不必显式等待结果。也就是说,我认为这不是你想要的。

大概任务队列 https://developers.google.com/appengine/docs/python/taskqueue/就是你想要的。请检查一下。

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

ndb async 是否保证在应用程序请求完成后执行? 的相关文章

随机推荐

  • Maven-Camel-Spring-Oracle:创建 bean 时出错 - java.lang.IllegalStateException:无法加载 JDBC 驱动程序类 [oracle.jdbc.driver.OracleDriver]

    从昨天开始我就收到了这个错误 尽管我已经尝试了我想到的所有方法或者在互联网上搜索 但我无法解决它 上下文 java 6 Spring 3 1 4 camel 2 11 1 Oracle 驱动程序 10 2 0 2 我在骆驼上下文文件中有这个
  • 来自 Twitter API 的 JSON 包含 \u2019

    这是我通过 Twitter API 获取的 JSON 文件的一部分 文 科学家发现了研究分子的新方法 女王大学的研究人员发现了研究分子的方法 http bit ly chbweE http bit ly chbweE 我的项目使用 PHP
  • 动画Drawable内存使用情况

    我有一个应用程序 其中第一个 Activity 显示加载动画 并且它似乎显着增加了内存使用量 使用动画时应用程序使用的内存约为 30MB 不使用动画时内存使用量不到 10MB 相关代码如下 public void onCreate Bund
  • 如何在 Lua 中制作 GUI 应用程序

    首先 我将向您展示我正在谈论的一个示例 图形用户界面示例 http puu sh 3UeSd jpg 我已经学习 Lua 大约一周了 我真的很好奇我会如何做到这一点 基本上 目前 出于学习目的 我只想制作一个带有 2 个按钮的 GUI 1
  • 将顺序设置为 jquery 可排序

    我使用 jquery Draggable 函数来处理无序列表 ul 并面临着获取项目更改后的顺序以及设置页面加载后的顺序的问题 假设我们有以下代码 ajax googleapis com ajax libs jqueryui 1 8 jqu
  • 100%高度手风琴“跳跃”

    我正在尝试使用 Twitter Bootstrap 折叠组件实现 100 高度的手风琴 完全如此中所述question https stackoverflow com questions 16064809 twitter bootstrap
  • Internet Explorer XML/SVG 自定义命名空间 - 生成额外/错误的命名空间

    我正在尝试在网页内渲染 SVG 文档 然后通过 JavaScript 捕获该 SVG 文档的标记 然后 该 SVG 标记被发送回服务器进行处理 我的 SVG 文档的根目录类似于以下内容
  • 在 Twitter 搜索 API 1.1 中排除转发

    在这里 我尝试使用搜索 api 1 1 检索带有 V57 标签的推文 通过使用转储并查看搜索词的结果 search tim connection gt get search tweets array q gt V57 count gt 5
  • 覆盖 Logback 错误输出

    在我的自定义异常类中 我已经重写了toString Override public String toString final String msg getLocalizedMessage base String str getClass
  • 给定一个双调数组和数组中的元素 x,在 2log(n) 时间内找到 x 的索引

    首先 这个问题的双调数组被定义为对于某些索引K在长度数组中N where 0 lt K lt N 10到K是单调递增的整数序列 K到N 1是单调递减的整数序列 例子 1 3 4 6 9 14 11 7 2 4 9 它从 1 单调增加到 14
  • 如何查找 MySQL 表中的所有大写字符串?

    我最初认为这是微不足道的 然后认为 二进制 可以做到这一点 我现在不确定 Name John MARY Kin TED 我只想查询 MARY 和 TED 它们都是大写的 我该如何查询这个 如果您的排序规则不区分大小写 那么您需要使用BINA
  • Love2d和Lua中的继承

    我有一个包含这组值和函数的类 require class entity class new function entity new self x 100 self y 100 self width 32 self height 32 sel
  • 表单提交和Ajax同时使用onsubmit?

    如果之前有人问过这个问题 我很抱歉 但我需要通过表单提交和单击提交时触发的 ajax 调用来发送表单数据 原因是因为用户被重定向 并且我想预先将 det 表单数据存储到我的数据库中 所以我尝试使用表单 onsubmit 和 fire 提交表
  • ASP.NET 中

    我有一个在 asp net 框架上使用 SVG 坐标的网页 通过尝试错误 如果我取出大部分标签 我不会收到错误 但如果所有标签都在我收到以下错误 Compiler Error Message CS8095 Length of String
  • Asp.Net - 检测到页面上没有 javascript? (已更名标题)

    我有一个页面 在 TabContainer 中显示其所有内容 但如果浏览器上禁用了 javascript 它只会显示一个空白页面 我可以添加一个
  • 当 sed 在 mingw 中就地编辑时权限被拒绝

    我正在使用 mingw sed i s a b test txt sed preserving permissions for sed003480 Permission denied 我可以触摸 rm当前目录中的文件 这是由 Windows
  • ios 7 UiView 框架问题

    我在 iOS6 和 iOS7 中运行相同的应用程序 其中有导航栏 它在 iOS6 上运行良好 但在 iOS7 中 所有视图都有点向上 就像根本没有考虑导航栏一样 我尝试更改模拟指标选项中的顶栏属性 但它不起作用 在 iOS6 中 它从导航栏
  • 在 POST/batches 请求中使用现有的 SparkSession

    我正在尝试使用Livy远程提交多个Spark jobs 假设我想执行以下操作spark submit远程任务 包含所有选项 spark submit class com company drivers JumboBatchPipelineD
  • Serilog - 无法根据属性记录到多个文件

    您好 我正在尝试使用以下命令在一个文件中记录一些消息 在另一个文件中记录其他消息Serilog 我尝试过以下配置 Log Logger new LoggerConfiguration WriteTo Map type audit name
  • ndb async 是否保证在应用程序请求完成后执行?

    我正在使用 ndb 编写一个分析模型 该模型根据应用程序请求记录一些数据 每个请求通过ndb put async调用一个ndb请求来记录数据 而客户端不关心结果 本质上 我不希望应用程序请求等待保存统计数据以进行分析 然而 我对官方文档的解