定时任务Elastic-job入门学习01

分布式定时任务平台分析 elastic-job和xxl-job 最近公司有要搭建一个分布式定时任务平台的需求,并把这个任务交给了我。 首先是作了一番分析了解,http://www.expectfly.com/2017/08/15/%E5%88%86%E5%B8%83%E5%BC%8F%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E6%96%B9%E6%A1%88%E6%8A%80%E6%9C%AF%E9%80%89%E5%...... 阅读详情

定时任务Elastic-job入门学习01

1、概述:

1.1、任务调度;

  • 系统为了自动完成特定任务,在约定的特定时刻去执行任务
  • 节省人力
  • 下面业务场景的解决方案∶
    • 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。·某银行系统需要在信用卡到期还款日的前三天进行短信提醒。
    • 某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。 12306会根据车次的不同,而设置某几个时间点进行分批放票。
    • 某网站为了实现天气实时展示,每隔5分钟就去天气服务器获取最新的实时天气信息。

1.2、基本实现:

1. 多线程:

   //任务执行间隔时间
        final long timeInterval = 1000;
        Runnable runnable = () -> {
            while (true){
                System.out.println(LocalDateTime.now()+"这是多线程实现任务调度,我将每隔1s执行一次");
                try {
                    Thread.sleep(timeInterval);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };
        Thread thread = new Thread(runnable);
        thread.start();

2. 时间timer(jdk):

        //一个timer就是一个线程
        Timer timer1 = new Timer();
        Timer timer2 = new Timer();
        timer1.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println(LocalDateTime.now()+"timer1方式实现任务调度!");

            }
        },1000,2000);//1秒后开始任务调度,每2秒执行一次
        timer2.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println(LocalDateTime.now()+"timer2方式实现任务调度!");

            }
        },1000,3000);//1秒后开始任务调度,每3秒执行一次

3. 任务调度线程池

  • ScheduledExecutorService为任务调度线程池,可以支持多个线程并行执行任务调度。参数为线程数,
  • 线程数为1效果和timer一样。
  • scheduleAtFixedRate():延迟一定时间后执行任务
    • 按指定频率周期执行某个任务
    • 初始化延迟0ms开始执行,每隔100ms重新执行一次任务。
    • Runnable command:执行线程
    • long initialDelay:初始化延时
    • long period:前一次执行结束到下一次执行开始的间隔时间(间隔执行延迟时间)
    • TimeUnit unit:时间单位
    • 以上一个任务开始的时间计时,period秒过去后,检测上一个任务是否执行完毕,如果上一个任务执行完毕,则当前任务立即执行,如果上一个任务没有执行完毕,则需要等上一个任务执行完毕后立即执行
    • scheduleWithFixedDelay(),是以上一个任务结束时开始计时,period秒过去后,立即执行。==指定频率间隔执行某个任务。==初始化时延时0ms开始执行,本次执行结束后延迟100ms开始下次执行
  ScheduledExecutorService pool = Executors.newScheduledThreadPool(10);
        System.err.println("start...");
        pool.scheduleAtFixedRate(()->{
            System.err.println("running...");
        },1,1,TimeUnit.SECONDS);
        Thread.sleep(10000);
        pool.shutdown();
        System.err.println("shutdown");
paascloud开源项目学习(4) -- 项目中分布式定时任务框架 Elastic-Job 的使用 目录1 前言1.1 paascloud-master1.2 Elastic-Job2 如何使用2.1 本项目需求2.2定时清理消息2.3 zk 注册中心数据结构 1 前言 1.1 paascloud-master github 开源项目–paascloud-master:https://github.com/paascloud/paascloud-master paascloud-master ... 阅读详情

相关推荐

电力抄表协议DL/T645和698.45到底有啥区别?一张图帮你选对协议

本文深入对比了电力抄表协议DL/T645和DL/T698.45的技术差异,从协议架构、报文结构、功能覆盖到实施成本进行全面分析。通过实际案例和数据,揭示698.45协议在通信效率、业务扩展性和长期成本上的优势,并提供清晰的选型决策流程图,帮助工程师根据具体需求选择最适合的电力抄表协议。

weixin_38168696的博客 407

Elastic-Job | 由浅入深一篇理解分布式定时任务的基本用法及简单原理解析

目录 一、定时任务的基础实现 1.利用Thread及Sleep实现,通过while循环让其不停运行 2.使用jdk的Timer和TimerTask 3.ScheduledExecutorService 4.Quartz实现 附:Cron表达式 5.Spring Task实现 6. 分布式定时任务Elastic-Job 1.概述 2.调度模型 3.功能 4.适用场景 5.分片策略 6. ElasticJob 原理 7.失效转移 其次,定时任务大体分两种:指定间隔时间执行...

是袁同学呀 2855

3分钟!教会你用 DeepSeek/Claude3.7+Cursor 快速入门AI编程(喂饭级教程)

3分钟!教会你用 DeepSeek/Claude3.7+Cursor 快速入门AI编程(喂饭级教程)

yizhen91y的博客 4726

自动清理 ES 历史数据

另一个是关键的定时任务,用于删除ES历史数据。随着业务的增长和时间的变化,ES 数据库的存储空间越来越大,存储数据多数为系统监控日志,保存的数据不需要长期保留,多数情况只需要保留几个月ES数据即可,既可以减轻ES服务器的负载和资源使用率,还可以节约更多的存储空间。curl -X DELETE 删除ES索引是没有详细日志的,所以需要在删除前执行 curl -X GET 获取删除前索引信息,一旦出现异常就可以更好判断当次定时任务实际删除了那些内容,实际上是否成功按照保留天数执行了。3、查看创建好的定时任务。

weixin_44770684的博客 5478

PIDNet实战:如何在Cityscapes数据集上实现93.2 FPS的实时语义分割(附完整训练代码)

本文提供了在Cityscapes数据集上实现实时语义分割模型PIDNet的完整工程实践指南。PIDNet凭借其独特的比例-积分-微分三分支架构,在CVPR 2023上取得了速度与精度的出色平衡。文章详细介绍了从环境配置、数据预处理、模型训练到性能优化与部署的全流程,并分享了实现93.2 FPS高推理速度的关键技巧与代码。

weixin_29047919的博客 377

水下探测小白必看:单波束vs多波束声呐,5分钟搞懂核心区别

本文为水下探测新手清晰解析了单波束与多波束声呐的核心区别。单波束声呐如同精准的“手电筒”,进行逐点扫描,适用于定点测深和目标探测;而多波束声呐则像“聚光灯”,能一次性覆盖一个扇区,高效获取海底地形三维信息,是海底测绘和水下三维建模的理想选择。文章通过生动的比喻和对比表格,帮助读者快速理解两者原理、效率差异及适用场景。

linux6sysadmin的博客 1049

elastic-job中任务调度常见的4种方式1

开启一个线程,每sleep一段时间,就去检查是否到达预期执行时间。@OverrideSystem.out.println(new Date().getTime()+"定时任务");try {

健康平安的活着的专栏 3847

论文地图合规求生指南:5分钟搞定标准地图服务转ArcGIS可用矢量文件

本文提供了一份论文地图合规求生指南,帮助非GIS专业背景的科研人员在5分钟内将标准地图服务的EPS文件转换为ArcGIS兼容的矢量文件。通过详细的工作流程和关键参数设置,确保地图完全符合国家规范,同时节省时间成本。重点关注标准地图服务的合规性和Shapefile转换技巧,适用于紧急情况下的论文地图处理。

weixin_34233974的博客 402

elastic-job 定时任务 —— 失效转移、任务错过机制与幂等机制

若 overwrite=true,重启或者启动新的任务服务,相关配置会传到 zookeeper 注册中心中并覆盖掉之前的配置,会以最后一次启动上传的配置为准,所以以后任务执行时,都会从 zookeeper 中得到最新的配置执行。虽然失效转移能够重新执行分配给宕机的任务,但并不能完全保证业务的幂等性,还是建议在作业中实现幂等性,以确保数据的正确处理。第一次触发任务执行5分钟,第一次触发的任务还没有执行完就触发了第二次任务,此时第二次不会叠加执行,会先记录,等第一次任务执行完后接着再执行第二次触发的任务。

longool的博客 2635

TOPSIS+熵权法组合拳:5分钟学会供应商选择决策模型

本文详细介绍了如何运用TOPSIS和熵权法这对黄金组合,快速构建科学、客观的供应商评估决策模型。通过数据标准化、权重计算和综合排序,帮助企业在半小时内完成高效、准确的供应商选择,解决传统主观打分法的弊端,提升供应链管理效率。

weixin_29051149的博客 278

水文仿真软件:HEC-RAS (Hydrologic Engineering Center‘s River Analysis System)_(7).一维非稳态水力模型

自定义脚本是通过编程语言(如 Python)编写的一系列自动化任务,可以帮助用户更高效地处理数据和运行模型。编写脚本:使用 Python 或其他编程语言编写自定义脚本。集成脚本:将脚本集成到 HEC-RAS 中,实现自动化数据处理和模型运行。

kkchenjj的博客 933

ES-JOB——分布式定时任务基础使用

参考文档:概览 :: ElasticJobhttps://shardingsphere.apache.org/elasticjob/current/cn/overview/

qq_39246466的博客 2678

Python 对接钉钉获取员工上一篇日报或周报内容

摘要:本文介绍使用Python对接钉钉API获取员工日报/周报的方法。首先需创建钉钉应用并开通日志权限,获取员工UserID。通过获取AccessToken进行鉴权,调用topapi/report/list查询日志记录,筛选最新日报/周报后,使用topapi/report/details获取详细内容。需注意权限控制、时间范围筛选和模板匹配等问题。文末提供完整代码示例,并建议扩展自动化触发、数据存储等功能。该方法适用于企业自动化获取员工工作日志的场景。

从技术实践立足,从项目管理方法论延伸思考 814

Java 任务调度,分布式定时任务XXL-JOB,elastic-job

Timer ScheduledExecutorService Quartz Spring Task JCronTab XXL-JOB elastic-job 各种对比和比较 https://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/ https://www.cnblogs.com/aishangJava/p/7587020.html ...

风.foxwho(神秘狐) 2692

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Elastic Job 学习01

首先我们要了解一下什么是任务调度,调度就是将一个任务套上一个时间,让该任务可以在时间规律上去循环执行。一般的技术quartz、spring task、java.util.Timer,这几种如果在单一机器上跑其实问题不大,但是如果一旦应用于集群环境做分布式部署,就会带来一个致命的问题,那就是重复执行,当然解决方案有,但是必须依赖数据库,将任务执行状态持久化下来。所以当当就把quartz和zookee...

郭传志的博客 267

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

xxl-job和elastic-job,哪个更好?

今天我们来探讨一个让许多技术团队纠结的问题:在分布式任务调度领域,XXL-JOB和,到底哪个更好?有些小伙伴在工作中第一次接触分布式任务调度时,可能会有这样的困惑:我们的定时任务在单机跑得好好的,为什么需要引入分布式调度框架?当系统从单体架构演进到微服务架构,当数据量从几千条暴涨到几百万条,当业务要求从“按时执行”升级到“高效稳定”,单机任务调度就显得力不从心了。我曾经经历过这样的架构演进:早期使用Quartz配合数据库锁,后来在千万级用户量的电商平台深度使用XXL-JOB。

1365

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Springboot使用注解的方式整合Elastic-Job

凄凄切切

PRIVATE_NO的博客 1983

SpringBoot整合Elastic-Job实战(分片处理数据)

前言 笔者上篇文章一文搞懂Elastic-Job(内附源码解析)是简单的介绍了Elastic-Job的使用,可以说是一个基础版,demo的写法在我们生产可不能直接拿过来用哦。我们知道Elastic-Job强大之处在于分片机制 ,如果用了Elastic-Job,而不用他分片的能力可以说杀鸡用牛刀,本文结合Elastic-Job强大的分片能力做一个简单的实战,利用分片高效处理数据,并且本文Demo...

晏霖/胖虎的博客 4749

xxl-job 和 elastic-job,哪个更好?

今天我们来探讨一个让许多技术团队纠结的问题:在分布式任务调度领域,XXL-JOB和,到底哪个更好?有些小伙伴在工作中第一次接触分布式任务调度时,可能会有这样的困惑:我们的定时任务在单机跑得好好的,为什么需要引入分布式调度框架?当系统从单体架构演进到微服务架构,当数据量从几千条暴涨到几百万条,当业务要求从“按时执行”升级到“高效稳定”,单机任务调度就显得力不从心了。我曾经经历过这样的架构演进:早期使用Quartz配合数据库锁,后来在千万级用户量的电商平台深度使用XXL-JOB。

751

Elastic-Job——分布式定时任务框架

原文:https://www.cnblogs.com/wyb628/p/7682580.html 摘要: Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架。去掉了和dd-job中的监控和ddframe接入规范部分。该项目基于成熟的开源产品Quartz和Zookeeper及其客户端Curator进行二次开发。 ddframe其他模块也有可独立

青鸟飞鱼 8454

013 分布式定时任务-ES-JOB_基础使用

Elastic-Job是一个分布式调度解决方案,2.x版本后由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。 Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务;Elastic-Job-Cloud采用自研Mesos Framework的解决方案,额外提供资源治理、应用分发以及进程隔离等功能。 ...

诸般世界 6185

分布式定时任务框架 Elastic-Job (5) 高级操作

分布式定时任务框架 Elastic-Job (5) 高级操作 自定义分片策略 事件追踪 作业监听

Vincent Vic 913

分布式定时任务框架 Elastic-Job (1) 快速入门

分布式定时任务框架 Elastic-Job (1) 快速入门 Elastic-Job Simple Job Elastic-Job Dataflow Job Elastic-Job Script Job 使用 ElasticJob 能够让开发工程师不再担心任务的线性吞吐量提升等非功能需求,使他们能够更加专注于面向业务编码设计; 同时,它也能够解放运维工程师,使他们不必再担心任务的可用性和相关管理需求,只通过轻松的增加服务节点即可达到自动化运维的目的。

Vincent Vic 866

分布式定时任务框架 Elastic-Job (3) Simple作业实战【订单自动取消】

分布式定时任务框架 Elastic-Job (3) Simple作业实战【订单自动取消】 定时任务订单自动取消业务流程 可通过多个服务器实例分摊压力

Vincent Vic 946

xxl-job实践,集群

起因 最近公司准备使用xxl-job,让本人调研一下,以下是调研一下午的成果,记录一下 分布式任务调度调研(建议跳过) 开源方案 elastic-job:Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。 Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。 Elastic-Job-Cloud使用Mesos + Docker的解决方案,额外提供资源治理、

WHUT_XQH的博客 2095
上一篇: 分布式架构-CAP
下一篇: git-02
ADCQprogrammer
博客等级 码龄7年 4粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值