elastic-job集群问题

发布于 2021-11-30 21:40:49 字数 984 浏览 928 评论 2

请教,为什么我的3台机器的集群,每台机器上添加的作业只会在自己的机器上执行,且设置的分片为6就会执行6次,好像没有执行分片策略。。。注册中心我用的都是同一台

添加定时任务代码如下:

public void addDynamicJob(String jobName,Date exeDate,Class<? extends ElasticJob> jobClass){
    String exeDateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(exeDate);
    String jobNum = exeDateFormat + RandomStringUtils.randomNumeric(4);
    String cron = getCron(exeDate);
    String addJobName = jobName + "-" + jobNum;

    JobCoreConfiguration coreConfig = JobCoreConfiguration.newBuilder(addJobName, cron, 6).misfire(true).failover(true).build();
    SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(coreConfig, jobClass.getCanonicalName());
    JobScheduler jobScheduler = new JobScheduler(regCenter, LiteJobConfiguration.newBuilder(simpleJobConfig).jobShardingStrategyClass(OdevitySortByNameJobShardingStrategy.class.getCanonicalName()).build());

    log.debug("添加一个定时任务【"+addJobName+"】将在【"+new SimpleDateFormat("yyyy-MM-dd HH
              

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

终遇你 2021-12-05 05:40:58

你的jobName是变化的,所以你每次启动一台机器都是一个新的job。所以相当于你3台机器跑了3个不同的job。当然不会出现每台机器执行2片的现象。你把jobName写死试试

泛滥成性 2021-12-04 23:26:27

执行6次就对了,你打印item出来你会发现从1到6,也就是一个任务分成了6片。。。你看一下zk里面的sharding分配

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文