Tornado 添加任务的几种方式

add_callback:

  • 功能:将一个普通的回调函数或者同步函数添加到事件循环中执行。
  • 特点:适合处理简单的任务,但要注意不要添加会阻塞事件循环的任务。
  • 示例:
tornado.ioloop.IOLoop.current().add_callback(callback_function)

spawn_callback:

  • 功能:将一个异步的协程函数(coroutine function)添加到事件循环中执行。
  • 特点:适合处理需要异步执行的任务,如网络请求、数据库操作等。
  • 示例:
tornado.ioloop.IOLoop.current().spawn_callback(async_function)

add_timeout:

  • 功能:在指定的时间间隔后执行一个回调函数。
  • 特点:用于创建一个一次性的定时任务,执行一次后自动取消。
  • 示例:
tornado.ioloop.IOLoop.current().add_timeout(time.time() + delay_seconds, callback_function)

call_later:

  • 功能:在指定的时间间隔后执行一个回调函数,类似于 add_timeout,但时间参数是相对于当前时间点的延迟。
  • 特点:也是用于创建一次性的定时任务。
  • 示例:
tornado.ioloop.IOLoop.current().call_later(delay_seconds, callback_function)

PeriodicCallback:

  • 功能:定期执行一个回调函数,创建一个周期性任务。
  • 特点:可用于实现循环执行的定时任务,例如轮询某些资源或定时发送数据等。
  • 示例:
periodic_callback = tornado.ioloop.PeriodicCallback(callback_function, callback_time_ms)
periodic_callback.start()
posted @ 2024-07-30 16:44  vx_guanchaoguo0  阅读(153)  评论(0)    收藏  举报