elasticjob-autodeploy elasticjob自动化部署项目

elasticjob-autodeploy基本介绍

automatic deploy elasticjob’s job from definition in database , include deploy job implemented by spring bean, current only support simpleJob

根据数据库的定义,自动部署elasticjob的作业,支持自动部署spring bean模式的作业,无需为每个spring bean进行JobConfig类开发和配置。
支持simple、dataflow 及shell 三种job。

主要适用以下场景

  • 依托jobParameter 实现不同任务的执行,并且需要经常进行变更,如报表类job
  • 需要分类管控job运行环境,如按应用类型不同的job部署到不同机器、连接不同数据源的job分开部署等
  • 优雅下线job进程
  • 需要记录job变更历史
  • 有大量spring bean类job

代码基于elasticjob-lite 2.1.4/2.1.5 进行修改和扩展。

为支持自动部署,为simple job扩展了一个属性:job group,job group值默认为default,对于不使用本软件部署的原始的elastic job会自动归属到default组。

同时为更好跟踪job状态,在job root path下增加了一个status node记录状态,状态定义和elasticjob原生是一样的,具体如下:

public final static String Shutdown="SHUTDOWN";
public final static String Disabled="DISABLED";
public final static String Removed="REMOVED";
public final static String Enabled="ENABLED";

不同的是原生elasticjob状态定义在server/worker或者instances上。

每一个运行job的实例进程称为worker,worker上只运行

1、job属于worker支持group,一个worker可以同时支持多个group,配置属性为autodeploy.elasticjob.supportGroups,默认只为default
2、autodeploy.elasticjob.syncFromDB=true时候,运行从数据库定时同步job到zookeeper,在同一组应用/namespace下建议autodeploy.elasticjob.syncFromDB=true的进程不超过3个。

具体可以参考项目的readme。

GITHUB 连接 https://github.com/robert-guangzhou/elasticjob-autodeploy/

猜你喜欢

转载自blog.csdn.net/weixin_40455124/article/details/113749590
今日推荐