将 PeriodicCallback 添加到已经 运行 个 IOLoop 实例

Adding PeriodicCallback to already running IOLoop instance

我想在 Tornado 中创建一个简单的调度程序,在应用程序运行过程中,动态生成一些带有 (time,callback) 的作业,例如,

在活动开始前 30 分钟发送推送通知, 但此提醒仅在服务器创建作业后创建,这可能是通过 POST 请求。

我想通过 PeriodicCallback 实现此目的,但我读到必须在创建 PeriodicCallback 后调用 IOLoop.start()。我怎样才能将 PeriodicCallback 添加到已经 运行 IOLoop 或者是否有任何其他方式?

不要求在 IOLoop 之前启动 PeriodicCallbacks。您可以在 IOLoop 运行ning 时启动它们。在调用 IOLoop.start() 之前,您必须安排 something 因为那将永远 运行,但是无论您在 IOLoop 上安排什么,都可以继续安排其他事情。