首页 新闻 会员 周边

XXL-job支持这样的功能吗?从数据库读出用户自定义的8:00,14:22,15:00

0
悬赏园豆:20 [待解决问题]

我的需求场景:
用户自定义 提醒,可以设定1-N个任意时间点,如 8:00 ,14:22,15:38(每天在这几个时间点执行任务)。
用户可以自定义增删这些时间点
多个用户之间时间是有可能有重叠。比如A用户设置了 8:00 ,14:22,B用户也设置了 8:00 ,14:22

和定闹钟类似,时间是没有规律的

如何配置,如何操作?
大概的流程是什么?

待永的主页 待永 | 初学一级 | 园豆:5
提问于:2021-03-04 19:36
< >
分享
所有回答(1)
0

xxl_job 数据库中的xxl_job_info表中的job_cron字段存的就是定时时间,你在重新中只需要改动这个值,获取这个值就可以在任何地方自定义定时时间了。

悟行 | 园豆:12559 (专家六级) | 2021-03-05 08:42

1.就是用户在新增闹钟13:00时,在xxl_job_info表中插入一条数据,字段job_cron为 0 0 0 13..
2如果用户再增加14:22, 在xxl_job_info表中再插入一条数据,job_cron为 0 0 0 14..

是这样吗

另一个人跟我说XXL-job必须设定一个频率,比如5分钟执行一次代码。会有重复执行问题。如何防止重复执行?
她问我:定时频率多少?

我不太明白,我感觉XXL-JOB只需要存入多个cron表达式,就行了,为什么要要设什么定时频率。我们这个场景的时间是没有规律的。
为什么要搞每隔5分钟执行XX,为什么要搞得这样复杂?
现在我们的解决办法:在表里增加字段【上次提醒时间】来看之前是否已执行
感觉有点不对,应该不用这么麻烦把?

支持(0) 反对(0) 待永 | 园豆:5 (初学一级) | 2021-03-05 09:15

@待永: 0 0 13 * * ?

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2021-03-05 09:18

@悟行: cron表达式我随便写的,这个不重要哈。

支持(0) 反对(0) 待永 | 园豆:5 (初学一级) | 2021-03-05 09:19

@悟行: 1.就是用户在新增闹钟13:00时,在xxl_job_info表中插入一条数据,字段job_cron为 0 0 0 13..
2如果用户再增加14:22, 在xxl_job_info表中再插入一条数据,job_cron为 0 0 0 14..

是这样吗

另一个人跟我说XXL-job是默认5分钟执行一次代码。会有重复执行问题。如何防止重复执行?
她问我:定时频率多少?

我不太明白,我感觉XXL-JOB只需要存入多个cron表达式,就行了,为什么要要设什么定时频率。我们这个场景的时间是没有规律的。
为什么要搞每隔5分钟执行XX,为什么要搞得这样复杂?
现在我们的解决办法:在表里增加字段【上次提醒时间】来看之前是否已执行
感觉有点不对,应该不用这么麻烦把?

支持(0) 反对(0) 待永 | 园豆:5 (初学一级) | 2021-03-05 09:23

@待永: 我没有遇到默认5分钟执行一次代码的情况,我估计也没有,你可以测试一下

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2021-03-05 09:25

@悟行:
我之前的意思不对。
是这样
另一个人跟我说XXL-job必须设定一个频率,比如设定5分钟执行一次代码。
为什么一定要设定一个频率?
时间本来就是不规律,为什么要设定一个频率,是不是方向搞错了?
是不是xxl_job_info表的字段shedule_type应该用cron,而不是用fix_rate。是他没注意到另一种方式?

支持(0) 反对(0) 待永 | 园豆:5 (初学一级) | 2021-03-05 09:28

@待永: 总得要个触发条件执行你的程序,而定时任务就是按照一定的时间频率执行的,如果你的需求是不规律执行,那只能说你的需求不符合定时任务实现了;

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2021-03-05 09:34

@待永: 你也可以每个月底执行,每个星期几执行,每年什么时候执行,很灵活,但是都是有时间规律的执行;

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2021-03-05 09:35
支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2021-03-05 09:36

@悟行:
我的需求场景:
用户自定义 提醒,可以设定1-N个任意时间点,如 13:00 ,14:00,15:38(每天在这几个时间点执行任务)
这个是叫有规律,还是没规律呢?就几个CRON的动态组合
用户可以自定义增删这些时间点
这么一个简单的功能,XXL-JOB都无法实现吗?

支持(0) 反对(0) 待永 | 园豆:5 (初学一级) | 2021-03-05 09:55

@待永: 这个很容易啊,设置N个定时任务,都指向一份代码,每个定时任务对应一个时间;
例如:13:00  一个定时任务;14:00 一个定时任务;  15:38一个定时任务,都指向一份代码;

就这么简单

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2021-03-05 09:58

@悟行: 如何设置呢?在XXL-JOB管理后台手工设置?应该是从数据库读取?
那我只要在xxl_job_info,插入3条记录就可以了?
13:00 一个定时任务;14:00 一个定时任务; 15:38一个定时任务
分别为这3个插入3条记录?每条记录有一个cron表达式?

支持(0) 反对(0) 待永 | 园豆:5 (初学一级) | 2021-03-05 10:00

@待永: 是的,你把问题想复杂了

支持(0) 反对(0) 悟行 | 园豆:12559 (专家六级) | 2021-03-05 10:01

@悟行: 之后的XXLJOB执行流程呢?
XXL JOB每隔5分钟扫描这个表的记录?还是只要插入一条,XXL JOB马上记住。
之后没有重复执行任务的问题吧?

支持(0) 反对(0) 待永 | 园豆:5 (初学一级) | 2021-03-05 10:16

@悟行: 那根本不应该在XXL-JOB配置 定时频率或CRON?如果是这样,那方向搞错了

支持(0) 反对(0) 待永 | 园豆:5 (初学一级) | 2021-03-05 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册