刚才开了一个脑洞,有一个需求是一个比较重要和严重后果的操作,需要有反悔时间三十秒,场景如下:
调用一个接口(或点击一个按钮)之后,会删除当前电脑所有文件(或删除数据库中的所有数据),
但有三十秒的反应时间(倒计时),在倒计时过程中,有一个取消接口(或取消按钮),
点击之后,当前倒计时取消,结束任务,不会删文件或者删库
思路如下,
最开始准备用线程sleep来做,休眠三十秒,然后让另一个接口来阻断线程,受限于我的线程知识面,这个方案被搁置了
后来我想到用一个中间件来控制当前操作流程是否中断,在程序中redis中间缓存是一个不错的选择
流程图: