目前有个接口任务,这个任务链比较长,里面包含了对外部系统的调用,异步查询外部任务的执行结果,文件上传,数据获取等,就是比较复杂,但是整个任务链属于一个任务,在数据库中有个对应的任务表维护任务的状态(运行中、超时、结束等)
目前的需求是想通过另一个接口对上面这个任务进行操作,需要在任意时刻停止该任务,然后更新表中的任务时刻状态。然后反馈给前端。
目前我的想法是在 redis 或者其他地方写入一个标识,在不同的耗时子任务后根据这个标识来停止任务,但是这么写比较繁杂,而且后续维护肯定也不太好,另一个想法(也是我请教另一个哥们的)是所有子任务维护到一个 map 中,做统一的判断启停,但是任务状态维护可能是个问题。
所以想问问各位大佬们,有没有别的比较优雅的方法,不胜感激!!!