最近在做考核,经理问了一个如题目的问题,要求我不使用数据库,解决spring quartz定时器在负载均衡的环境下只运行行一个定时器任务。目前想到的方案,1、利用JAVA的输入输出,在数据库服务器上创建一个文件,用来控制由哪台服务器来运行定时器任务。2、直接利用数据库运行定时器任务,(这个有点顾虑就是担心并非所有的定时器任务都是执行对数据库的更新操作。本人菜鸟。)
希望来位大神帮忙解决一下,想很久了,没有想到别的办法。
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
首页/
已采纳
负载均衡下定时器任务怎么只执行一个,在不使用数据库的情况下
收起
- 写回答
- 好问题 0 提建议
- 关注问题
- 微信扫一扫点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
孤单胖南瓜_ 2016-07-04 18:20关注你的这两个方案明显是不满足经理要求的,
1、“创建一个文件”,既然是负载均衡应用肯定不在同一个主机上,难道你创建网络文件吗。当然你可以使用zookeeper,创建一个结点之类的。
2、利用数据库运行定时器任务,你们经理都说了不使用数据库。
给你出个主意但不知道行不行,等应用启起来之后,向负载均衡发送一个启动quartz http请求, 负载会把这个请求发送到其中一个主机。
这样就基本达到你的要求了只执行一个,但是不知道是不是你们经理想要回答。这的确是一个在开发中会遇到的实用的问题,如果还能实现动态切换那就更好了(当然使用zookeeper很容易做到)。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫点击复制链接分享编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览
轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-03-29 08:16回答 2 已采纳 看下方法1执行完之后,方法2操作的表是否锁死了,之前我也遇到类似的问题,导致定时器无法执行,服务器上也没有日志信息,结果是表被锁死了
- 2019-08-13 12:54回答 2 已采纳 定时器内部是开启了一个线程去执行任务的,虽然任务执行完成了,但是该线程并没有销毁。 这和自己定义一个线程执行完成 run 方法后就自动销毁是不一样的,Timer 本质上是相当于线程池,它缓存了一个工
- 2023-03-23 03:52回答 2 已采纳 1.设置定时器首先,你需要使用 MSP430 的定时器模块来生成一个周期性中断。你可以选择其中一个定时器模块(比如 Timer A 或 Timer B),并设置其计数器值和计时器模式,使其产生所需的中
- 2019-04-15 17:30在多应用服务器负载均衡环境下,Spring Quartz定时任务的重复执行问题是一个常见的挑战。Spring Quartz是一个强大的、开源的作业调度框架,允许开发者定义和执行复杂的定时任务。然而,当多个服务器实例并行运行时,...
- 2023-01-19 08:44回答 1 已采纳 可能的原因有: crontab中设置的环境变量和手动执行时的环境变量不同,导致命令找不到crontab中设置的目录路径和手动执行时的目录路径不同,导致命令找不到crontab中设置的命令执行权限和手动
- 2022-03-28 13:51回答 2 已采纳 @Scheduled(cron="0 * 21-22 * * ? "),这种写法就是错的,你可以参考这个网站,把你的cron表达式写进去,会发现不对的,改成@Scheduled(cron="0 * 2
- 2020-08-18 09:57回答 2 已采纳 @Scheduled是设计来定期执行操作的,不是只执行一次。 ps.定时器是跑在服务端的任务调度,为什么会和客户端的请求联系起来呢?你的描述是不是有些问题 如果只想执行一次, 1.粗暴的方式是在
- 2020-07-29 08:35I_m_you_papa的博客 只在一台机器上部署定时任务的代码。 最后两个方案又都被自己否决了。 第一条,如果指定ip的机器出现了问题怎么办? 例如说宕机了, 那么该制定ip的机器上的定时任务是不是就无法运行了?如果以后该服务器迁移导致...
- 2022-03-09 08:10回答 3 已采纳 #####move_lr中已经清除掉计时器了,所以只有最后一个有效,该分别用2个计时器变量来记录自己的计时器,改下面就可以了 <style> * { padding
- 2015-11-10 01:05回答 9 已采纳 0 0 12 ? * MON 表示每周中午12点整执行一次
- 2019-10-18 08:07回答 2 已采纳 spring-redis.xml配置呢
- 2018-06-29 09:53讲哩滴的博客 System.out.println("#####开始自动执行资产台账定时任务#####"); // 获得一个jobDetail JobDetail job = JobBuilder.newJob(AssetOfficalBackUpJob.class).withIdentity("quartztestjob").build(); // ...
- 2021-03-13 16:05霍卫光的博客 一张图能更加懂它是做什么的图片参考【task介绍和使用.docx】文档从上图可以清楚的知道,它是一个管理所有系统的定时任务平台特点支持集群部署任务的分配能实现负载均衡任务调度失败后,会发送email提醒,前提是设置...
- 2020-06-08 13:01杨哥痞子的博客 由于服务部署在多个节点上导致任务重复执行,数据出现重复。在此简单谈谈解决过程。 解决思路 第一步先获取当前服务IP 第二部获取Springcloud当前项目集群IP信息 最后将当前IP和集群的IP进行对比,...
- 2021-03-13 16:05weixin_39552204的博客 task介绍和使用task是什么...它是一个管理所有系统的定时任务平台特点支持集群部署任务的分配能实现负载均衡任务调度失败后,会发送email提醒,前提是设置了任务发邮件提醒数据库为mysql架构服务端:springBoot、sp...
- 没有解决我的问题, 去提问
悬赏问题
- ¥15 PADS Logic 原理图
- ¥15 PADS Logic 图标
- ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
- ¥20 气象站点数据求取中~
- ¥15 如何获取APP内弹出的网址链接
- ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
- 公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司