public class DefaultSchedulerLoadBalancer extends Object implements SchedulerLoadBalancer
| 限定符和类型 | 字段和说明 |
|---|---|
protected EventBus |
eventBus |
protected SchedulerRegistry |
registry |
protected org.jetlinks.rule.engine.api.scheduler.SchedulerSelector |
schedulerSelector |
protected TaskSnapshotRepository |
snapshotRepository |
| 构造器和说明 |
|---|
DefaultSchedulerLoadBalancer(EventBus eventBus,
SchedulerRegistry registry,
TaskSnapshotRepository snapshotRepository) |
DefaultSchedulerLoadBalancer(EventBus eventBus,
SchedulerRegistry registry,
TaskSnapshotRepository snapshotRepository,
org.jetlinks.rule.engine.api.scheduler.SchedulerSelector schedulerSelector) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected reactor.core.publisher.Mono<Boolean> |
canSchedule(org.jetlinks.rule.engine.api.scheduler.Scheduler scheduler,
org.jetlinks.rule.engine.api.scheduler.ScheduleJob job) |
void |
cleanup() |
reactor.core.publisher.Mono<Void> |
reBalance(List<org.jetlinks.rule.engine.api.scheduler.Scheduler> schedulers,
boolean balanceAll)
重新对任务进行负载均衡
|
reactor.core.publisher.Mono<Void> |
reBalance(List<org.jetlinks.rule.engine.api.scheduler.Scheduler> schedulers,
RuleInstance instance,
boolean balanceAll)
使用指定的调度器,对指定对规则进行重新分配,比如新加入的调度器,需要进行reBalance才会调度自己新的任务
|
void |
setup() |
reactor.core.publisher.Mono<Void> |
setupAsync() |
protected final EventBus eventBus
protected final SchedulerRegistry registry
protected final TaskSnapshotRepository snapshotRepository
protected final org.jetlinks.rule.engine.api.scheduler.SchedulerSelector schedulerSelector
public DefaultSchedulerLoadBalancer(EventBus eventBus, SchedulerRegistry registry, TaskSnapshotRepository snapshotRepository)
public DefaultSchedulerLoadBalancer(EventBus eventBus, SchedulerRegistry registry, TaskSnapshotRepository snapshotRepository, org.jetlinks.rule.engine.api.scheduler.SchedulerSelector schedulerSelector)
public void setup()
public reactor.core.publisher.Mono<Void> setupAsync()
public void cleanup()
public reactor.core.publisher.Mono<Void> reBalance(List<org.jetlinks.rule.engine.api.scheduler.Scheduler> schedulers, boolean balanceAll)
SchedulerLoadBalancerreBalance 在接口中 SchedulerLoadBalancerschedulers - 调度器balanceAll - 是否对全部任务进行再分配public reactor.core.publisher.Mono<Void> reBalance(List<org.jetlinks.rule.engine.api.scheduler.Scheduler> schedulers, RuleInstance instance, boolean balanceAll)
SchedulerLoadBalancerreBalance 在接口中 SchedulerLoadBalancerschedulers - 调度器instance - 规则实例balanceAll - 是否对全部任务进行再分配protected reactor.core.publisher.Mono<Boolean> canSchedule(org.jetlinks.rule.engine.api.scheduler.Scheduler scheduler, org.jetlinks.rule.engine.api.scheduler.ScheduleJob job)
Copyright © 2019–2021. All rights reserved.