package com.hubspot.singularity.scheduler; import com.google.inject.Inject; import com.google.inject.Singleton; import com.hubspot.singularity.data.DeployManager; import com.hubspot.singularity.data.RequestManager; import com.hubspot.singularity.data.TaskManager; @Singleton public class SingularityLeaderCacheCoordinator { private final TaskManager taskManager; private final DeployManager deployManager; private final RequestManager requestManager; private final SingularityLeaderCache leaderCache; @Inject public SingularityLeaderCacheCoordinator(TaskManager taskManager, DeployManager deployManager, RequestManager requestManager, SingularityLeaderCache leaderCache) { this.taskManager = taskManager; this.deployManager = deployManager; this.requestManager = requestManager; this.leaderCache = leaderCache; } public void activateLeaderCache() { taskManager.activateLeaderCache(); deployManager.activateLeaderCache(); requestManager.activateLeaderCache(); leaderCache.activate(); } public void stopLeaderCache() { leaderCache.stop(); } }