public KubePodNameGeneratorImpl()

in teamcity-kubernetes-plugin-server/src/main/java/jetbrains/buildServer/clouds/kubernetes/KubePodNameGeneratorImpl.java [38:61]


  public KubePodNameGeneratorImpl(@NotNull ServerPaths serverPaths,
                              @NotNull ExecutorServices executorServices,
                              @NotNull EventDispatcher<BuildServerListener> eventDispatcher
                              ){
    myIdxStorage = new File(serverPaths.getPluginDataDirectory(), "kubeIdx");
    if (!myIdxStorage.exists()){
      myIdxStorage.mkdirs();
    }
    if (!myIdxStorage.isDirectory()){
      throw new CloudException("Unable to create a directory for kube plugin VM indexes");
    }
    myIsAvailable = new AtomicBoolean(true);

    loadIdxes(myIdxStorage);

    eventDispatcher.addListener(new BuildServerAdapter(){
      @Override
      public void serverShutdown() {
        myIsAvailable.set(false);
        storeIdxes();
      }
    });
    executorServices.getNormalExecutorService().scheduleWithFixedDelay(this::storeIdxes, 60, 60, TimeUnit.SECONDS);
  }