MCPcopy Create free account
hub / github.com/actiontech/dtle / loopCleanRelayDir

Method loopCleanRelayDir

driver/driver.go:464–491  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

462}
463
464func (d *Driver) loopCleanRelayDir() {
465 cleanDataDir := func() {
466 files, err := ioutil.ReadDir(path.Join(d.config.DataDir, "binlog"))
467 if err != nil {
468 d.logger.Error("read dir failed", "dataDir", d.config.DataDir, "err", err)
469 return
470 }
471
472 for _, file := range files {
473 _, exist, err := d.storeManager.GetNatsIfExist(file.Name())
474 if exist || err != nil {
475 continue
476 }
477 if err := os.RemoveAll(path.Join(d.config.DataDir, "binlog", file.Name())); err != nil {
478 d.logger.Warn("remove dir failed", "err", err)
479 }
480 }
481 }
482
483 cleanDuration := 12 * time.Hour
484 cleanDelay := time.NewTimer(cleanDuration)
485 defer cleanDelay.Stop()
486 for {
487 cleanDelay.Reset(cleanDuration)
488 <-cleanDelay.C
489 cleanDataDir()
490 }
491}
492
493func (d *Driver) TaskConfigSchema() (*hclspec.Spec, error) {
494 return taskConfigSpec, nil

Callers 1

SetConfigMethod · 0.95

Calls 2

GetNatsIfExistMethod · 0.80
ResetMethod · 0.45

Tested by

no test coverage detected