接口接收消息立即返回"ok",然后后台静默执行

我后台有个接口用于接收别人发给我的消息,处理消息的时间可能很长,不需要调用方等待我后台处理完,而且调用方不关心处理结果,目前我的实现方式是:接口内部启动一个线程,消息处理逻辑在这个单独的线程中执行,然后主线程立即返回==ok==,但是我觉得这种方式实现不是很优雅,有什么更好的实现方式吗?

单机应用,这样实现没问题。你可以使用线程池来处理任务。

1 个赞

如果分布式的环境。你可以用消息队列,把计算任务交给其它节点处理。

我用了线程池,但是感觉代码不是很优雅,有什么能让代码更好看的方式吗
:grinning:

Emmm。优雅的话,我也不好说。SpringBoot提供了 @Async。可以声明式的异步执行。

要优雅就要将异步处理的任务,丢到quartz里面去,定时任务批量处理, 还能监控处理情况,也能良好的处理故障停机的问题