elastic-job集群问题
请教,为什么我的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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你的jobName是变化的,所以你每次启动一台机器都是一个新的job。所以相当于你3台机器跑了3个不同的job。当然不会出现每台机器执行2片的现象。你把jobName写死试试
执行6次就对了,你打印item出来你会发现从1到6,也就是一个任务分成了6片。。。你看一下zk里面的sharding分配