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 class
DiskUsageTaskExecutor.UpdateWorker
-
Field Summary
Fields Modifier and Type Field Description static String
DISK_USAGE_INCREMENTAL_UPDATE_LIMIT
static String
TEAMCITY_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.UpdateProcess
createProcess()
protected jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcess
createProcess(SBuild build)
protected jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcess
createProcess(SBuildType... buildTypes)
protected void
doResetBuildType(DiskUsage bean, SBuildType buildType)
UpdateAllProgress
getProgress()
protected boolean
hasAnyModifications(DiskUsageDataReader diskUsageData)
void
interruptAll()
boolean
isUpdating()
Checks whetherupdateAll
process is already scheduled or already runningvoid
reset(SBuildType buildType, SRunningBuild build)
boolean
resetDataIfVersionIsOld(SBuildType buildType, SRunningBuild build)
protected void
schedule(jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageTaskExecutor.UpdateProcess process, int priority)
void
shutdownNow()
Stops the DiskUsageTaskExecutor.void
update(Collection<? extends SBuild> builds)
void
update(SBuild build)
Update single build.void
update(SBuildType... buildTypes)
void
updateAll()
Update all data.void
updateOutdated()
-
-
-
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.
updateAll
will 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
updateAll
will be scheduled at the time. So if anyupdateAll
is 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
updateAll
process is already scheduled or already running- Returns:
true
whenupdateAll
is 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
-
-