@@ -390,30 +390,16 @@ func (d *Driver) SetConfig(c *base.Config) (err error) {
390
390
}
391
391
392
392
func (d * Driver ) loopCleanRelayDir () {
393
- stopCh := make (chan struct {})
394
- defer close (stopCh )
395
-
396
393
cleanDataDir := func () {
397
394
files , err := ioutil .ReadDir (path .Join (d .config .DataDir , "binlog" ))
398
395
if err != nil {
399
- d .logger .Info ("read dir failed" , "dataDir" , d .config .DataDir , "err" , err )
400
- return
401
- }
402
-
403
- jobs , err := d .storeManager .FindJobList ()
404
- if err != nil {
405
- d .logger .Error ("list jobs failed" , "err" , err )
396
+ d .logger .Error ("read dir failed" , "dataDir" , d .config .DataDir , "err" , err )
406
397
return
407
398
}
408
399
409
400
for _ , file := range files {
410
- existUnuseDir := true
411
- for i := range jobs {
412
- if jobs [i ].JobId == file .Name () {
413
- existUnuseDir = false
414
- }
415
- }
416
- if ! existUnuseDir {
401
+ _ , exist , err := d .storeManager .GetNatsIfExist (file .Name ())
402
+ if exist || err != nil {
417
403
continue
418
404
}
419
405
if err := os .RemoveAll (path .Join (d .config .DataDir , "binlog" , file .Name ())); err != nil {
@@ -422,21 +408,13 @@ func (d *Driver) loopCleanRelayDir() {
422
408
}
423
409
}
424
410
425
- jobKeysCh , err := d .storeManager .WatchTree ("/dtleJobList/" , stopCh )
426
- if err != nil {
427
- d .logger .Error ("watch job tree error" , "err" , err )
428
- }
429
411
cleanDuration := 12 * time .Hour
430
412
cleanDelay := time .NewTimer (cleanDuration )
431
413
defer cleanDelay .Stop ()
432
414
for {
433
- select {
434
- case <- jobKeysCh :
435
- cleanDataDir ()
436
- case <- cleanDelay .C :
437
- cleanDataDir ()
438
- }
439
415
cleanDelay .Reset (cleanDuration )
416
+ <- cleanDelay .C
417
+ cleanDataDir ()
440
418
}
441
419
}
442
420
0 commit comments