Cleanup temporaries once an hour (fixes #858)

This commit is contained in:
Audrius Butkevicius 2014-10-15 10:30:04 +01:00
parent a778b410b9
commit ea9f8b0ceb

View File

@ -84,16 +84,21 @@ func (p *Puller) Serve() {
pullTimer := time.NewTimer(checkPullIntv)
scanTimer := time.NewTimer(time.Millisecond) // The first scan should be done immediately.
cleanTimer := time.NewTicker(time.Hour)
defer func() {
pullTimer.Stop()
scanTimer.Stop()
cleanTimer.Stop()
// TODO: Should there be an actual FolderStopped state?
p.model.setState(p.folder, FolderIdle)
}()
var prevVer uint64
// Clean out old temporaries before we start pulling
p.clean()
// We don't start pulling files until a scan has been completed.
initialScanCompleted := false
@ -128,9 +133,6 @@ loop:
continue
}
// Clean out old temporaries before we start pulling
p.clean()
if debug {
l.Debugln(p, "pulling", prevVer, curVer)
}
@ -197,6 +199,9 @@ loop:
l.Infoln("Completed initial scan (rw) of folder", p.folder)
initialScanCompleted = true
}
// Clean out old temporaries
case <-cleanTimer.C:
p.clean()
}
}
}