elastic-job 怎么修改作业配置信息?

颖辉小居 发布于 2018/07/23 16:40
阅读 1K+
收藏 0
    /**
     * @Description: 创建作业配置
     * @Author: 张颖辉(yh)
     * @Date: 2018/7/20 15:08
     * @param:
     * @return:
     * @Version: 1.0
     */
    private static LiteJobConfiguration createJobConfiguration(String jobParameter) {
        // demoSimpleJob 为jobname, 0/10 * * * * ?为cron表达式,  3 分片数量,  0=北京,1=上海,2=广州 分片对应参数内容,  jobParameter 作业自定义参数
        // 定义作业核心配置
        JobCoreConfiguration jobCoreConfiguration = JobCoreConfiguration.newBuilder("demoSimpleJob_3p", "0/10 * * * * ?", 3).shardingItemParameters("0=北京,1=上海,2=广州").jobParameter(jobParameter).build();
        // 定义SIMPLE类型配置
        SimpleJobConfiguration simpleJobConfiguration = new SimpleJobConfiguration(jobCoreConfiguration, MyELasticJob.class.getCanonicalName());
        // 定义Lite作业根配置
        LiteJobConfiguration liteJobConfiguration = LiteJobConfiguration.newBuilder(simpleJobConfiguration).build();
        return liteJobConfiguration;
    }

我按照上面的配置执行了定时任务,之后想将分片数量从3片修改为10片,以及其他的自定义参数,分片参数对照 作业信息的修改。可是发现无路改成什么样,执行的都是第一次的配置。分析原因可能是zookeeper 注册中心会持久化这个分片相关信息。如果把jobname改为一个新的名称就可以了。但是我觉得这不是一个好方法,因为zookeeper会保存很多没用的垃圾数据而且那么多作业名称被占用也不合适。请问应该怎么可以修改呢?据我了解有一个运维控制台应该可以修改,还有其他办法吗?

加载中
1
c
clark-lee

将overwrite改成true,也就是后面启动的配置覆盖之前的

c
clark-lee
回复 @颖辉小居 :目前我仅知道这两种,javacode的没有去看过api
c
clark-lee
回复 @颖辉小居 : @ElasticJobConfig(name = "TradeAreaDataSyncJobName", cron = "0/5 * * * * ?", shardingTotalCount = 2, shardingItemParameters = "0=0,1=1", overwrite = true)
c
clark-lee
回复 @颖辉小居 : <job:simple id="indexTomorrowDataToRedisJob" class="com.frxs.promotion.biz.event.job.IndexTomorrowDataToRedisJob" reconcile-interval-minutes="10" overwrite="true" .../>
颖辉小居
颖辉小居
您好,谢谢你的回答,请问这种是在spring 的<job:simple>中配置的吧,使用java code的方式能不能配置这一项呢?
0
颖辉小居
颖辉小居

自己顶一下,刚刚学习这个,不太明白

0
c
clark-lee

http://elasticjob.io/docs/elastic-job-lite/02-guide/config-manual/

 

配置手册

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部