后台定时器通过龙卷风IOLoop.spawn_调用

2024-03-29 14:26:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在一个基于tornado的web应用程序中运行一个计时器,这样它就可以在后台运行,并且是非阻塞的。在

一旦计时器完成,就必须调用一个特定的任务,因此计时器准时完成非常重要。在

理想的方法是什么?在

我阅读了文档中的TornadoIOLoop.spawn_callback,但我不太清楚它是否会正常工作。在

我不太明白doc中的语句

Unlike all other callback-related methods on IOLoop, spawn_callback does not associate the callback with its caller’s stack_context


Tags: 方法文档web应用程序doccallback语句all
1条回答
网友
1楼 · 发布于 2024-03-29 14:26:02

如果要在特定时间后运行函数,可以使用^{}。这样使用:

IOLoop.current().call_later(5, my_func) # will call my_func 5 seconds later

def my_func():
    # do something

IOLoop.spawn_callback用于在IOLoop的下一次迭代中运行回调/函数,即几乎立即-。不能向spawn_callback添加超时。由于您希望在超时之后安排回调,IOLoop.call_later就是您需要的。在

在你的评论中你问

Why according to you IOLoop.spawn_callback is not to be used?

好吧,我从来没说过不要用它。如果你需要的话,你可以用它。在这种情况下,你不需要

你什么时候需要?当您几乎需要立即运行回调而不需要超时时,就可以使用spawn_callback。但即便如此,还有一种^{}spawn_callback使用得更广泛。在

相关问题 更多 >