我想在基于龙卷风的网络应用程序中运行计时器,使其在后台运行并且不会阻塞。
一旦计时器结束,就必须调用一个特定的任务,因此计时器准确完成是非常重要的。
理想的做法应该是什么?
我在文档中阅读了Tornado .accept()
,但我不太清楚它会表现得正确。
我不太明白doc
中的陈述 health-check-type: http
health-check-http-endpoint: ${CF_INSTANCE_IP}:8091/actuator/health
答案 0 :(得分:2)
如果您想在特定时间后运行某个功能,可以使用IOLoop.call_later
。像这样使用它:
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
。
在你的评论中你问了
为什么根据你
IOLoop.spawn_callback
不被使用?
好吧,我从未说过不使用它。如果需要,您可以使用它。在这种情况下,你不会。
那么,你何时需要它?如果您需要在没有超时的情况下立即运行回调,那么您可以使用spawn_callback
。但即便如此,IOLoop.add_callback
的使用范围远远超过spawn_callback
。