elastic-job的使用

  • elastic-job官网说明
  • demo 演示
    • 引入maven配置
    • 添加spring.xml配置文件初始化注册任务的bean
    • 启动项处加入sring.xml的引用
    • 编写简易MySimpleJob
    • 执行效果
  • elastice-job结合spring-batch实现分布式定时任务调度+处理框架
    • 构建思路
  • 如何把任务注册到zk上?
    • 功能快捷键
    • 合理的创建标题,有助于目录的生成
    • 如何改变文本的样式
    • 插入链接与图片
    • 如何插入一段漂亮的代码片
    • 生成一个适合你的列表
    • 创建一个表格
      • 设定内容居中、居左、居右
      • SmartyPants
    • 创建一个自定义列表
    • 如何创建一个注脚
    • 注释也是必不可少的
    • KaTeX数学公式
    • 新的甘特图功能,丰富你的文章
    • UML 图表
    • FLowchart流程图
    • 导出与导入
      • 导出
      • 导入

elastic-job官网说明

https://shardingsphere.apache.org/elasticjob/current/cn/quick-start/elasticjob-lite/

demo 演示

这个demo使用spring-boot框架演示elastic-job与zookeeper的初步结合

引入maven配置

<dependency><groupId>com.dangdang</groupId><artifactId>elastic-job-lite-core</artifactId><version>2.1.5</version></dependency><!-- 使用springframework自定义命名空间时引入 --><dependency><groupId>com.dangdang</groupId><artifactId>elastic-job-lite-spring</artifactId><version>2.1.5</version></dependency>

添加spring.xml配置文件初始化注册任务的bean

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:reg="http://www.dangdang.com/schema/ddframe/reg"xmlns:job="http://www.dangdang.com/schema/ddframe/job"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.dangdang.com/schema/ddframe/reghttp://www.dangdang.com/schema/ddframe/reg/reg.xsdhttp://www.dangdang.com/schema/ddframe/jobhttp://www.dangdang.com/schema/ddframe/job/job.xsd"><!--配置作业注册中心 --><reg:zookeeper id="regCenter" server-lists="127.0.0.1:2181" namespace="dd-job"base-sleep-time-milliseconds="1000" max-sleep-time-milliseconds="3000" max-retries="3" /><!-- 配置作业--><job:simple id="mySimpleJob" class="com.elastic.job.elasticjob.job.MySimpleJob" registry-center-ref="regCenter"sharding-total-count="2" cron="0/2 * * * * ?" overwrite="true" /></beans>

启动项处加入sring.xml的引用

@SpringBootApplication
@ImportResource("classpath:spring/spring.xml")
public class ElasticjobApplication {public static void main(String[] args) {SpringApplication.run(ElasticjobApplication.class, args);}}

编写简易MySimpleJob

package com.elastic.job.elasticjob.job;import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.simple.SimpleJob;import java.util.Date;/*** Created by fanfan on 2016/12/20.*/
public class MySimpleJob implements SimpleJob {@Overridepublic void execute(ShardingContext shardingContext) {System.out.println(String.format("------Thread ID: %s, 任务总片数: %s, 当前分片项: %s",Thread.currentThread().getId(), shardingContext.getShardingTotalCount(), shardingContext.getShardingItem()));/*** 实际开发中,有了任务总片数和当前分片项,就可以对任务进行分片执行了* 比如 SELECT * FROM user WHERE status = 0 AND MOD(id, shardingTotalCount) = shardingItem*/}
}

执行效果

使用可视化化工具在zk上可以看到任务已经注册上来

elastice-job结合spring-batch实现分布式定时任务调度+处理框架

构建思路

elascti-job实现分布式任务的分发
spring-batch实现批处理
1、springbatch主要负责大批量数据的读写,eleastic-job主要负责job或工作流的调度。
2、eleastic-job-console主要是eleastic-job管理界面,配置zk服务器时命名空间要与springbatch中配置的zk的namespace一致,否则无法从zk中将job获取到。
3、eleastic-job分片可以将一个job实例分配到多个服务器上执行,也可以在同一服务器上执行。

如何把任务注册到zk上?

1、创建一张定时任务run表。该表包含 runid、任务名称、分片数、任务参数

2、捞取任务表中待执行的数据,将配置数据上传到zk上
1)、如何把数据上传到zk
是否和JobRegistry有关
3、从zk上拉下分片任务,根据任务名称,调用批处理工厂。由批处理工厂执行任务。
1)、拉取zk数据是遍历zk节点吗

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片:

带尺寸的图片:

居中的图片:

居中并且带尺寸的图片:

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目

    • 项目

      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to-HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分

Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞​tz−1e−tdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

#mermaid-svg-r5p6OQ1UWXb2EGQA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-r5p6OQ1UWXb2EGQA .error-icon{fill:#552222;}#mermaid-svg-r5p6OQ1UWXb2EGQA .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-r5p6OQ1UWXb2EGQA .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-r5p6OQ1UWXb2EGQA .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-r5p6OQ1UWXb2EGQA .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-r5p6OQ1UWXb2EGQA .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-r5p6OQ1UWXb2EGQA .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-r5p6OQ1UWXb2EGQA .marker{fill:#333333;stroke:#333333;}#mermaid-svg-r5p6OQ1UWXb2EGQA .marker.cross{stroke:#333333;}#mermaid-svg-r5p6OQ1UWXb2EGQA svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-r5p6OQ1UWXb2EGQA .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-r5p6OQ1UWXb2EGQA text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-r5p6OQ1UWXb2EGQA .actor-line{stroke:grey;}#mermaid-svg-r5p6OQ1UWXb2EGQA .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-r5p6OQ1UWXb2EGQA .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-r5p6OQ1UWXb2EGQA #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-r5p6OQ1UWXb2EGQA .sequenceNumber{fill:white;}#mermaid-svg-r5p6OQ1UWXb2EGQA #sequencenumber{fill:#333;}#mermaid-svg-r5p6OQ1UWXb2EGQA #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-r5p6OQ1UWXb2EGQA .messageText{fill:#333;stroke:#333;}#mermaid-svg-r5p6OQ1UWXb2EGQA .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-r5p6OQ1UWXb2EGQA .labelText,#mermaid-svg-r5p6OQ1UWXb2EGQA .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-r5p6OQ1UWXb2EGQA .loopText,#mermaid-svg-r5p6OQ1UWXb2EGQA .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-r5p6OQ1UWXb2EGQA .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-r5p6OQ1UWXb2EGQA .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-r5p6OQ1UWXb2EGQA .noteText,#mermaid-svg-r5p6OQ1UWXb2EGQA .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-r5p6OQ1UWXb2EGQA .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-r5p6OQ1UWXb2EGQA .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-r5p6OQ1UWXb2EGQA .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-r5p6OQ1UWXb2EGQA .actorPopupMenu{position:absolute;}#mermaid-svg-r5p6OQ1UWXb2EGQA .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-r5p6OQ1UWXb2EGQA .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-r5p6OQ1UWXb2EGQA .actor-man circle,#mermaid-svg-r5p6OQ1UWXb2EGQA line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-r5p6OQ1UWXb2EGQA :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间, 文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

这将产生一个流程图。:

#mermaid-svg-UaE8uTNpnUmiflrB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-UaE8uTNpnUmiflrB .error-icon{fill:#552222;}#mermaid-svg-UaE8uTNpnUmiflrB .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-UaE8uTNpnUmiflrB .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-UaE8uTNpnUmiflrB .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-UaE8uTNpnUmiflrB .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-UaE8uTNpnUmiflrB .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-UaE8uTNpnUmiflrB .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-UaE8uTNpnUmiflrB .marker{fill:#333333;stroke:#333333;}#mermaid-svg-UaE8uTNpnUmiflrB .marker.cross{stroke:#333333;}#mermaid-svg-UaE8uTNpnUmiflrB svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-UaE8uTNpnUmiflrB .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-UaE8uTNpnUmiflrB .cluster-label text{fill:#333;}#mermaid-svg-UaE8uTNpnUmiflrB .cluster-label span{color:#333;}#mermaid-svg-UaE8uTNpnUmiflrB .label text,#mermaid-svg-UaE8uTNpnUmiflrB span{fill:#333;color:#333;}#mermaid-svg-UaE8uTNpnUmiflrB .node rect,#mermaid-svg-UaE8uTNpnUmiflrB .node circle,#mermaid-svg-UaE8uTNpnUmiflrB .node ellipse,#mermaid-svg-UaE8uTNpnUmiflrB .node polygon,#mermaid-svg-UaE8uTNpnUmiflrB .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-UaE8uTNpnUmiflrB .node .label{text-align:center;}#mermaid-svg-UaE8uTNpnUmiflrB .node.clickable{cursor:pointer;}#mermaid-svg-UaE8uTNpnUmiflrB .arrowheadPath{fill:#333333;}#mermaid-svg-UaE8uTNpnUmiflrB .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-UaE8uTNpnUmiflrB .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-UaE8uTNpnUmiflrB .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-UaE8uTNpnUmiflrB .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-UaE8uTNpnUmiflrB .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-UaE8uTNpnUmiflrB .cluster text{fill:#333;}#mermaid-svg-UaE8uTNpnUmiflrB .cluster span{color:#333;}#mermaid-svg-UaE8uTNpnUmiflrB div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-UaE8uTNpnUmiflrB :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0开始我的操作确认?结束yesno
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

【elastic-job的使用】相关推荐

  1. 2021年大数据ELK(一):集中式日志协议栈Elastic Stack简介

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 一.简介 二.ELK 协议栈介绍及体系结构 三.集中式日志协议栈 ...

  2. 【Elastic Stack(一)】Elastic Stack简介

    如果你没有听说过Elastic Stack,那你一定听说过ELK.实际上ELK是三款软件的简称,分别是Elasticsearch.Logstash.Kibana组成,在发展的过程中,又有新成员Beat ...

  3. Elastic Job从单点到高可用、同城主备、同城双活

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://jaskey.github.io/blog/2020/05/25/elastic-job-timmer-a ...

  4. Elastic Search 介绍和基本概念

    Elastic Search 特点 Elastic Search 可能是是当下最火的搜索引擎中间件了.为什么这么火呢?主要是因为他有几大绝艺: 快速.无论什么时候,你需要向 ES 查询你的数据,都能够 ...

  5. R语言glmnet交叉验证选择(alpha、lambda)拟合最优elastic回归模型:弹性网络(elasticNet)模型选择最优的alpha值、模型最优的lambda值,最终模型的拟合与评估

    R语言glmnet交叉验证选择(alpha参数和lambda参数)拟合最优elastic回归模型:弹性网络(elasticNet)模型选择最优的alpha值.弹性网络(elasticNet)模型最优的 ...

  6. elastic stack中的Beats是什么?

    elastic stack中的Beats是什么? elastic stack栈涉及到以下⼏个组件 beats:⽤于轻量级⽇志采集,⽀持⽂件采集,系统数据采集,特定中间件数据采集等 logstash:⽤ ...

  7. AWS EBS是 Elastic Block Store 的简写

    Persistent storage volumes for your data using Amazon Elastic Block Store (Amazon EBS), known as Ama ...

  8. elastic ik分词搜索_php环境下使用elasticSearch+ik分词器进行全文搜索

    php中文网最新课程 每日17点准时技术干货分享 首先需要说明的一点是,如果需要启用ik分词器,那么分词器的版本必须与es版本一致,即6.3.0的分词器需要同样6.3.0版本的es支持. 安装java ...

  9. elastic date时区问题解决办法

    之前介绍filter date插件时就谈到时区问题,但是没有说明白.最近在使用range查询时间范围内的数据时出现了数据量不一致的情况.特地了解了下ELK Stack中关于时区的问题. 问题: 使用k ...

  10. 【Elastic Stack学习】ELK日志分析平台(一)ELK简介、ElasticSearch集群

    * ELK简介: ELK是Elasticsearch . Logstash.Kibana三个开源软件的缩写.ELK Stack 5.0版本之后新增Beats工具,因此,ELK Stack也改名为Ela ...

最新文章

  1. Leetcode 之Binary Tree Postorder Traversal(44)
  2. 银联配置 linux 路径,深圳银联POS支付系统安装手册(LinuxMySQL).doc
  3. 活动目录(Active Directory)安装
  4. torch.full()简介
  5. c#实现客户端程序自动下载更新(单独程序)
  6. AI:一个20年程序猿的学习资料大全—人工智能之AI/机器学习/深度学习/计算机视觉/Matlab大赛——只有你不想要的,没有你找不到的
  7. Android 极光推送设置别名
  8. POJ - 1381 Secret Code(dfs+高斯整数)
  9. 数组|leetcode27.移除元素
  10. _Linux结束进程到底有多少种方法?
  11. python中Scrapy的安装详细过程
  12. 服务器linux换windows,【服务器运维】如何将linux体系更换成windows体系
  13. 深度学习论文TOP10,2019一季度研究进展大盘点
  14. MySql 1067错误
  15. flex acionscript png图片去除多余空白,生成合适大小图片
  16. 服务器运维软硬件维护月报,运维月报ppt
  17. 网络层传输协议(详解)
  18. LINUX下打包jar
  19. 【什么是IaaS,PaaS,SaaS? DaaS又是什么?】
  20. NEXUS私服迁移内网(不能百度的那种)、NEXUS私服移植

热门文章

  1. 精益开发实战:用看板管理大型项目
  2. 电梯控制线路实训考核装置QY-DT25
  3. Cadence OrCAD Capture 软件自带元件原理图符号库目录与介绍图文视频教程
  4. 数字信号处理实验 序列的傅里叶变换和离散傅里叶变换及其关系
  5. 资深猎头的干货分享-如何做自己的职业规划!
  6. 用Python爬取网易云音乐歌曲
  7. 7-1 镖局运镖 (30分)
  8. Java+Swing+dat文件存储实现学生选课管理系统
  9. Tikadpro分享 | 如何广告投放和管理优化
  10. 你50块钱卖掉的旧手机,却成为黑产投票赚钱的工具