NutzCN Logo
问答 quartz设置时间间隔问题
发布于 1906天前 作者 qq_93105859 1840 次浏览 复制 上一个帖子 下一个帖子
标签:

如设置成这样

"*/40 * * * * ?"

quartz的执行效果是每分钟的第0秒和第40秒执行一次,即间隔时间为40s、20s、40s…

如设置成

"*/59 * * * * ?"

quartz的执行效果是每分钟的第0秒和第59秒执行一次,即间隔时间为59s、1s、59s…

请问这是为什么,不应该是每隔设定的秒值触发一次执行吗?

5 回复

cron表达式不是这样的

Quartzs类有simple模式,可以实现定时

修改如下后,正常

SimpleTrigger triger = TriggerBuilder
                    .newTrigger().startNow()
                    .withSchedule(SimpleScheduleBuilder
                            .simpleSchedule()
                            .withIntervalInSeconds(59)//时间间隔
                            .repeatForever())
                    .build();

@wendal 谢谢回复,确实这样

@wendal 对了兽总,问你个题外话好吗?
线程池里,我怎么让相同任务的线程不同时执行呢?我现在做的项目是智能设备的,在采集设备状态的时候由于一个ip下可能会通过485(modbus-rts协议)串联多个设备,所以必须限制同一个ip下在同一时间只能有一个采集任务执行,不然会出现采集的数据出错,能请教一下您的思路吗?

可以根据ip进行hash分片,每个分片一个job

添加回复
请先登陆
回到顶部