码迷,mamicode.com
首页 > 其他好文 > 详细

定时任务的N种方案

时间:2018-08-23 02:22:38      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:定时任务   延时   spring   机制   查询   定时执行   结果   重启   nbsp   

1, java 有个延时任务接口 DelayQueue 实现这个接口可以做到延时队列

  缺点:耗费资源,不持久(  java程序重启后丢失 ),

2. 基于spring 定时任务。

  缺点:定时执行,不能灵活的指定时间,时间误差比较大

3. 基于java的 查询机制,每次使用数据的时候检查一下是否满足 任务条件。保证每次看到的结果都是正确的(保证关系的数据都正确的变化,不关心的数据是否正确无所谓)。

  缺点。效率低,及时性不高

4.基于redis 的 过期事件

  有点:效率极高,缺点。redis的过期事件没有持久,触发即忘。不可持久。如果没有收到过期事件,那么过期事件必然丢失。

5.基于mq 的延时消息

  目前来说做最好的一种方案。及时性高,可持久。效率高。

 

定时任务的N种方案

标签:定时任务   延时   spring   机制   查询   定时执行   结果   重启   nbsp   

原文地址:https://www.cnblogs.com/cxygg/p/9521227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!