func runCleanupTool()

in cleanup.go [490:527]


func runCleanupTool(c *cli.Context) {
	lowFreeSpace, err := humanize.ParseBytes(opts.LowFreeSpace)
	if err != nil {
		logrus.Fatalln(err)
	}

	expectedFreeSpace, err := humanize.ParseBytes(opts.ExpectedFreeSpace)
	if err != nil {
		logrus.Fatalln(err)
	}

	var dockerClient DockerClient

	logrus.Infoln("Watching disk space...")
	for {
		if dockerClient == nil || dockerClient.Ping() != nil {
			dockerClient = nil

			client, err := docker_helpers.Connect(dockerCredentials, dockerAPIVersion)
			if err != nil {
				logrus.Warningln("Failed to connect to daemon:", err)
				time.Sleep(opts.RetryInterval)
				continue
			}

			dockerClient = &CustomDockerClient{
				Client: client,
			}
		}

		err = doCycle(dockerClient, lowFreeSpace, expectedFreeSpace, opts.LowFreeFilesCount, opts.ExpectedFreeFilesCount)
		if err == nil {
			time.Sleep(opts.CheckInterval)
		} else {
			time.Sleep(opts.RetryInterval)
		}
	}
}