Class DiskUsageTaskExecutor
- java.lang.Object
-
- jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor
-
public class DiskUsageTaskExecutor extends Object
User: Andrey Titov Date: 1/29/13
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDiskUsageTaskExecutor.UpdateWorker
-
Field Summary
Fields Modifier and Type Field Description static StringDISK_USAGE_INCREMENTAL_UPDATE_LIMITstatic StringTEAMCITY_DISKUSAGE_DAYS_TO_OUTDATE
-
Constructor Summary
Constructors Constructor Description DiskUsageTaskExecutor(DiskUsage bean, ExecutorServices executorServices, ProjectManager projectManager, BuildsManager buildsManager, TimeService timeService, ServerResponsibility serverResponsibility, DiskUsageStoreProvider diskUsageStoreProvider, InMemoryProjectDiskUsage inMemoryProjectDiskUsage, ServerMetrics serverMetrics)Creates DiskUsageTaskExecutor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcesscreateProcess()protected jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcesscreateProcess(SBuild build)protected jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcesscreateProcess(SBuildType... buildTypes)protected voiddoResetBuildType(DiskUsage bean, SBuildType buildType)UpdateAllProgressgetProgress()protected booleanhasAnyModifications(DiskUsageDataReader diskUsageData)voidinterruptAll()booleanisUpdating()Checks whetherupdateAllprocess is already scheduled or already runningvoidreset(SBuildType buildType, SRunningBuild build)booleanresetDataIfVersionIsOld(SBuildType buildType, SRunningBuild build)protected voidschedule(jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcess process, int priority)voidshutdownNow()Stops the DiskUsageTaskExecutor.voidupdate(Collection<? extends SBuild> builds)voidupdate(SBuild build)Update single build.voidupdate(SBuildType... buildTypes)voidupdateAll()Update all data.voidupdateOutdated()
-
-
-
Field Detail
-
TEAMCITY_DISKUSAGE_DAYS_TO_OUTDATE
public static final String TEAMCITY_DISKUSAGE_DAYS_TO_OUTDATE
- See Also:
- Constant Field Values
-
DISK_USAGE_INCREMENTAL_UPDATE_LIMIT
public static final String DISK_USAGE_INCREMENTAL_UPDATE_LIMIT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DiskUsageTaskExecutor
public DiskUsageTaskExecutor(@NotNull DiskUsage bean, @NotNull ExecutorServices executorServices, @NotNull ProjectManager projectManager, @NotNull BuildsManager buildsManager, @NotNull TimeService timeService, @NotNull ServerResponsibility serverResponsibility, @NotNull DiskUsageStoreProvider diskUsageStoreProvider, @NotNull InMemoryProjectDiskUsage inMemoryProjectDiskUsage, @NotNull ServerMetrics serverMetrics)Creates DiskUsageTaskExecutor. It allows to schedule updates with some interval and to queue foreign update requests.
- Parameters:
bean- DiskUsagePersister to updateexecutorServices-projectManager-buildsManager-timeService-serverResponsibility-diskUsageStoreProvider-inMemoryProjectDiskUsage-serverMetrics-
-
-
Method Detail
-
shutdownNow
public void shutdownNow()
Stops the DiskUsageTaskExecutor. All non-started tasks will be abandoned.
-
update
public void update(@Nullable SBuild build)Update single build.
updateAllwill be called instead in case build isnull.- Parameters:
build- build to update
-
update
public void update(@NotNull Collection<? extends SBuild> builds)
-
update
public void update(@NotNull SBuildType... buildTypes)
-
reset
public void reset(@NotNull SBuildType buildType, @Nullable SRunningBuild build)
-
resetDataIfVersionIsOld
public boolean resetDataIfVersionIsOld(@Nullable SBuildType buildType, @Nullable SRunningBuild build)
-
updateAll
public void updateAll()
Update all data. Only one
updateAllwill be scheduled at the time. So if anyupdateAllis currently scheduled or running - the method will skip scheduling. UseforceUpdateAll()instead if scheduling should be done in any case.
-
schedule
protected void schedule(jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcess process, int priority)
-
isUpdating
public boolean isUpdating()
Checks whether
updateAllprocess is already scheduled or already running- Returns:
truewhenupdateAllis scheduled or running
-
interruptAll
public void interruptAll()
-
createProcess
protected jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcess createProcess()
-
createProcess
protected jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcess createProcess(SBuildType... buildTypes)
-
createProcess
protected jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcess createProcess(SBuild build)
-
updateOutdated
public void updateOutdated()
-
hasAnyModifications
protected boolean hasAnyModifications(DiskUsageDataReader diskUsageData)
-
getProgress
@Nullable public UpdateAllProgress getProgress()
-
doResetBuildType
protected void doResetBuildType(@NotNull DiskUsage bean, @NotNull SBuildType buildType) throws InterruptedException- Throws:
InterruptedException
-
-