0

我使用 iris 框架实现了 http 服务,并且在一个 API 中我想在 10 秒后运行一些代码。这可以通过 time.AfterFunc() 轻松实现:

func (this myController) do(ctx context.Context) {
    //
    time.AfterFunc(time.Duration(10)*time.Second, func() {
            // do this later
        })
    }
    //
}

但问题是,当我需要重新启动整个服务时,例如由于部署新版本,所有这些预定的方法都不会再次启动。有哪些设计模式可以确保所有预定的代码都能被执行?

4

0 回答 0