问答

我用SpringBoot集合Quartz创建的定时任务为什么有时候不执行呢,

作者:admin 2021-08-10 我要评论

我用SpringBoot集合Quartz创建的定时任务为什么有时候不执行呢,也不报错,难道和线程并发有关?因为我的项目有好多定时器在跑,但是每个定时器基本都有自己的线程...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

我用SpringBoot集合Quartz创建的定时任务为什么有时候不执行呢,也不报错,难道和线程并发有关?因为我的项目有好多定时器在跑,但是每个定时器基本都有自己的线程池,那为啥我的定时任务不执行呢,我在测试过程过,发现大部分不执行都是在我,删除一个定时任务后重新添加一个任务,新的任务就不执行了。这是为啥呢?

新增代码:

    // 启动调度器
            JobDetail jobDetail = JobBuilder.newJob(IotSchedulerTime.class).withIdentity(jobDetailName,jobDetailGroup).usingJobData("command", command).usingJobData("jobDetailName",jobDetailName).build();
            // 表达式调度构建器(即任务执行的时间)
            CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cron);
            // 按新的cronExpression表达式构建一个新的trigger
            CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(triggerName,triggerGroup).withSchedule(scheduleBuilder).build();
            scheduler.start();
            scheduler.scheduleJob(jobDetail, trigger);

`
删除代码:

TriggerKey triggerKey = TriggerKey.triggerKey(triggerName, triggerGroup);
            scheduler.pauseTrigger(triggerKey);// 停止触发器
            scheduler.unscheduleJob(triggerKey);// 移除触发器
            scheduler.deleteJob(JobKey.jobKey(jobDeatailName, jobDetailGroup));// 删除任务

~~~~`

###

贴下代码吧

###

Talk is cheap. Show me the code.

###

我贴了一下 代码 帮忙看看 各位

###

请问处理了么?

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 我用SpringBoot集合Quartz创建的定时任

    我用SpringBoot集合Quartz创建的定时任

  • elasticsearch 如何查询单条记录?

    elasticsearch 如何查询单条记录?

  • js中或小程序中能监听耳机插入事件吗

    js中或小程序中能监听耳机插入事件吗

  • apicloud  执行多条sql语句 db.transac

    apicloud 执行多条sql语句 db.transac

腾讯云代理商
海外云服务器