- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Google App Engine SDK 1.7.3 和 NDB 来访问数据存储区。
我应该如何从事务性tasklet 中运行非事务性tasklet?
我首先想到的是以下内容:
@ndb.tasklet
@ndb.non_transactional
def non_txn_method():
''' Run some code that does not require a transaction '''
result = calculate_result()
raise ndb.Return(result)
@ndb.tasklet
@ndb.transactional
def txn_method():
''' Run some code that requires a transaction '''
non_txn_result = yield non_txn_method()
但是 NDB 的创建者 advises不要像 @ndb.tasklet
那样组合装饰器和@ndb.transactional
并使用 ndb.transaction_async(callback, **ctx_options)
函数代替。请参阅here对于这样做的问题。因此,我担心将 @ndb.tasklet
结合起来和@ndb.non_transactional
装饰器也可能很脆弱并且容易出现意外行为。
请注意ndb.transaction_async(callback, **ctx_options)
NDB API 中提供但不是ndb.non_transaction_async(callback, **ctx_options)
.
我想知道是否有 ndb.non_transaction_async(callback, **ctx_options)
需要在 NDB API 中公开函数来帮助我稳健地完成我想做的事情吗?
最佳答案
请注意,以下装饰器顺序按预期工作(至少自 1.7.3 起):
@ndb.non_transactional
@ndb.tasklet
def non_txn_method():
# If calling old db, need this too:
datastore._SetConnection(None)
# ...
由于此 bug 需要旧的数据库解决方法.
关于python - 事务性 Tasklet 中的非事务性操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13878594/
当tasklet在执行过程中触发硬件中断时,tasklet的状态会发生什么变化? 最佳答案 Tasklet 是下半部分。它们在软中断上下文中运行,而不是在硬件中断上下文中运行。所以硬件中断总是启用的。
我有一个要求,其中一个 tasklet 将目录中的所有文件存储在一个数组列表中。列表的大小存储在作业执行上下文中。稍后在另一个步骤中从另一个 tasklet 访问此计数。它是如何做到这一点的。我试图存
我有一个 tasklet 将一些信息设置到我的 JobContext 中,另一个 tasklet 检查一些东西以了解我是否可以执行批处理中的后续步骤。 如果我在我的工作流程中使用两个不同的步骤,这两个
在处理tasklet时,中断是否被禁用,因为它们应该在中断上下文中运行。如果在处理tasklet时中断,那么将它们称为下半部分机制有什么意义,因为它与禁用中断的顶部情况相同。或者,tasklet 是否
我想构建一个内核模块,它会在按下 f5 键时运行一个 tasklet。 我知道如何初始化一个 tasklet,但是如何在我的模块中获取事件?如何使用 request_irq 确定是否按下了 f5? 最
在我的大学里,我正在从事一个涉及一些内核编程的项目。其中一部分是可加载内核模块,它为某个给定的中断注册中断处理程序。 现在我已经共享了中断处理程序和 tasklet 使用的数据结构,我想知道我是否可以
我知道 Tasklets 是延迟中断处理程序,它们在中断上下文中执行,除了它们具有最高优先级(当然高于用户进程)。 但是,如果我们有多个 Tasklets 有很多工作要做,这些 Tasklets 是如
我正在使用 Google App Engine SDK 1.7.3 和 NDB 来访问数据存储区。 我应该如何从事务性tasklet 中运行非事务性tasklet? 我首先想到的是以下内容: @ndb
我有一个中断处理程序,它按如下方式安排一个 tasklet(伪代码)- struct tasklet_struct mytasklet; void my_tasklet_function(unsign
你好,我正在尝试使用 call_usermodehelper_exec 从 tasklet 运行用户空间进程,该进程是在带有 Allwinner SOC 的 ARM 板(来自 Olimex)的内核模块
新的 Mono Continuations/Tasklet 框架的主要性能开销(gc/堆栈复制...)是什么? 与 Lua Coroutine 和 stackless python 等其他框架相比,这
来自 documentation : An NDB tasklet is a piece of code that might run concurrently with other code. If
我正在尝试将参数从 tasklet 安全地传递到同一作业中的步骤。 我的工作包括 3 个 tasklet(step1,step2,step3) 一个接一个,最后一个 step4(processor,r
我正在使用 GAE,但我意识到当我尝试启动 .py 文件时出现此错误。我能做些什么?谢谢 python3 test.py runserver Traceback (most recent call
如何获取执行 tasklet 函数的任务的 pid。 current->pid 不会工作,因为 tasklet 在中断上下文中运行。当前很可能指的是被中断的任务。 最佳答案 从您需要 pid 的任务中
据说 Softirqs/tasklets 在中断上下文中执行我有以下关于中断上下文底部的问题。 Q1)如果我们尝试让 tasklet 进入休眠状态(中断上下文下半部分)会发生什么(考虑 tasklet
我正在尝试掌握 NDB 引入的异步操作,我想使用 @ndb.tasklet 来异步我的一些工作。 简单的例子是在重写的 get_or_insert_async 中生成 string_id 这是处理事情
GvRs App Engine ndb Library以及monocle并且——据我所知——现代 Javascript 使用生成器使异步代码看起来像阻塞代码。 事物用@ndb.tasklet装饰。他们
我是一个 Linux 设备驱动新手,想知道 tasklet 和 workqueue 之间的确切区别。我有以下疑问: Which kernel stack do interrupts, tasklet
我是一名优秀的程序员,十分优秀!