Separate scheduler for subs (#603)
This commit is contained in:
@@ -25,6 +25,8 @@ open class MultistreamsConfig(val beanFactory: ConfigurableListableBeanFactory)
|
|||||||
callTargetsHolder: CallTargetsHolder,
|
callTargetsHolder: CallTargetsHolder,
|
||||||
@Qualifier("headScheduler")
|
@Qualifier("headScheduler")
|
||||||
headScheduler: Scheduler,
|
headScheduler: Scheduler,
|
||||||
|
@Qualifier("subScheduler")
|
||||||
|
subScheduler: Scheduler,
|
||||||
tracer: Tracer,
|
tracer: Tracer,
|
||||||
multistreamEventsScheduler: Scheduler,
|
multistreamEventsScheduler: Scheduler,
|
||||||
indexConfig: IndexConfig,
|
indexConfig: IndexConfig,
|
||||||
@@ -41,6 +43,7 @@ open class MultistreamsConfig(val beanFactory: ConfigurableListableBeanFactory)
|
|||||||
chain,
|
chain,
|
||||||
cachesFactory,
|
cachesFactory,
|
||||||
headScheduler,
|
headScheduler,
|
||||||
|
subScheduler,
|
||||||
tracer,
|
tracer,
|
||||||
multistreamEventsScheduler,
|
multistreamEventsScheduler,
|
||||||
indexConfig.getByChain(chain),
|
indexConfig.getByChain(chain),
|
||||||
@@ -54,6 +57,7 @@ open class MultistreamsConfig(val beanFactory: ConfigurableListableBeanFactory)
|
|||||||
chain: Chain,
|
chain: Chain,
|
||||||
cachesFactory: CachesFactory,
|
cachesFactory: CachesFactory,
|
||||||
headScheduler: Scheduler,
|
headScheduler: Scheduler,
|
||||||
|
subScheduler: Scheduler,
|
||||||
tracer: Tracer,
|
tracer: Tracer,
|
||||||
multistreamEventsScheduler: Scheduler,
|
multistreamEventsScheduler: Scheduler,
|
||||||
logsOracleConfig: IndexConfig.Index?,
|
logsOracleConfig: IndexConfig.Index?,
|
||||||
@@ -71,7 +75,7 @@ open class MultistreamsConfig(val beanFactory: ConfigurableListableBeanFactory)
|
|||||||
headScheduler,
|
headScheduler,
|
||||||
cs.makeCachingReaderBuilder(tracer),
|
cs.makeCachingReaderBuilder(tracer),
|
||||||
cs::localReaderBuilder,
|
cs::localReaderBuilder,
|
||||||
cs.subscriptionBuilder(headScheduler),
|
cs.subscriptionBuilder(subScheduler),
|
||||||
logsOracleConfig,
|
logsOracleConfig,
|
||||||
logsOracleScheduler,
|
logsOracleScheduler,
|
||||||
tracer,
|
tracer,
|
||||||
|
|||||||
@@ -41,6 +41,11 @@ open class SchedulersConfig {
|
|||||||
return makeScheduler("head-scheduler", 4, monitoringConfig)
|
return makeScheduler("head-scheduler", 4, monitoringConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
open fun subScheduler(monitoringConfig: MonitoringConfig): Scheduler {
|
||||||
|
return makeScheduler("sub-scheduler", 4, monitoringConfig)
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
open fun logsOracleScheduler(monitoringConfig: MonitoringConfig): Scheduler {
|
open fun logsOracleScheduler(monitoringConfig: MonitoringConfig): Scheduler {
|
||||||
return makeScheduler("logs-oracle", 4, monitoringConfig)
|
return makeScheduler("logs-oracle", 4, monitoringConfig)
|
||||||
@@ -77,7 +82,7 @@ open class SchedulersConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun makeScheduler(name: String, size: Int, monitoringConfig: MonitoringConfig): Scheduler {
|
private fun makeScheduler(name: String, size: Int, monitoringConfig: MonitoringConfig): Scheduler {
|
||||||
return Schedulers.fromExecutorService(makePool(name, size * threadsMultiplier, monitoringConfig))
|
return Schedulers.fromExecutorService(makePool(name, size, monitoringConfig))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun makePool(name: String, size: Int, monitoringConfig: MonitoringConfig): ExecutorService {
|
private fun makePool(name: String, size: Int, monitoringConfig: MonitoringConfig): ExecutorService {
|
||||||
|
|||||||
Reference in New Issue
Block a user