changeset 121:e8125034f6a9

fix cleanup
author Pavel.Sher
date Fri, 24 Sep 2010 17:37:27 +0400
parents d5fe3d08be74
children 20cfe50e3b81
files mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java
diffstat 1 files changed, 10 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Fri Jul 30 20:03:51 2010 +0400
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java	Fri Sep 24 17:37:27 2010 +0400
@@ -38,7 +38,6 @@
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 
@@ -55,7 +54,6 @@
  */
 public class MercurialVcsSupport extends ServerVcsSupport implements LabelingSupport, VcsFileContentProvider {
   private ConcurrentMap<String, Lock> myWorkDirLocks= new ConcurrentHashMap<String, Lock>();
-  private static final int OLD_WORK_DIRS_CLEANUP_PERIOD = 600;
   private VcsManager myVcsManager;
   private File myDefaultWorkFolderParent;
 
@@ -64,14 +62,19 @@
                              @NotNull final SBuildServer server,
                              @NotNull EventDispatcher<BuildServerListener> dispatcher) {
     myVcsManager = vcsManager;
-    server.getExecutor().scheduleAtFixedRate(new Runnable() {
-      public void run() {
-        removeOldWorkFolders();
-      }
-    }, 0, OLD_WORK_DIRS_CLEANUP_PERIOD, TimeUnit.SECONDS);
     myDefaultWorkFolderParent = new File(paths.getCachesDir(), "mercurial");
     dispatcher.addListener(new BuildServerAdapter() {
       @Override
+      public void cleanupFinished() {
+        super.cleanupFinished();
+        server.getExecutor().submit(new Runnable() {
+          public void run() {
+            removeOldWorkFolders();
+          }
+        });
+      }
+
+      @Override
       public void sourcesVersionReleased(@NotNull final BuildAgent agent) {
         super.sourcesVersionReleased(agent);
         server.getExecutor().submit(new Runnable() {