Class DiskUsageTaskExecutor


  • public class DiskUsageTaskExecutor
    extends Object
    User: Andrey Titov Date: 1/29/13
    • 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 update
        executorServices -
        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 is null.

        Parameters:
        build - build to update
      • update

        public void update​(@NotNull
                           SBuildType... buildTypes)
      • 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 any updateAll is currently scheduled or running - the method will skip scheduling. Use forceUpdateAll() 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 when updateAll 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)