Make dynamic housekeeping flag configurable
This commit is contained in:
parent
d5e3da5dc5
commit
621bb22eeb
@ -31,6 +31,7 @@ import (
|
|||||||
// Housekeeping interval.
|
// Housekeeping interval.
|
||||||
var HousekeepingInterval = flag.Duration("housekeeping_interval", 1*time.Second, "Interval between container housekeepings")
|
var HousekeepingInterval = flag.Duration("housekeeping_interval", 1*time.Second, "Interval between container housekeepings")
|
||||||
var maxHousekeepingInterval = flag.Duration("max_housekeeping_interval", 60*time.Second, "Largest interval to allow between container housekeepings")
|
var maxHousekeepingInterval = flag.Duration("max_housekeeping_interval", 60*time.Second, "Largest interval to allow between container housekeepings")
|
||||||
|
var allowDynamicHousekeeping = flag.Bool("allow_dynamic_housekeeping", true, "Whether to allow the housekeeping interval to be dynamic")
|
||||||
|
|
||||||
// Internal mirror of the external data structure.
|
// Internal mirror of the external data structure.
|
||||||
type containerStat struct {
|
type containerStat struct {
|
||||||
@ -108,6 +109,7 @@ func NewContainerData(containerName string, driver storage.StorageDriver) (*cont
|
|||||||
|
|
||||||
// Determine when the next housekeeping should occur.
|
// Determine when the next housekeeping should occur.
|
||||||
func (self *containerData) nextHousekeeping(lastHousekeeping time.Time) time.Time {
|
func (self *containerData) nextHousekeeping(lastHousekeeping time.Time) time.Time {
|
||||||
|
if *allowDynamicHousekeeping {
|
||||||
stats, err := self.storageDriver.RecentStats(self.info.Name, 2)
|
stats, err := self.storageDriver.RecentStats(self.info.Name, 2)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Warningf("Failed to get RecentStats(%q) while determining the next housekeeping: %v", self.info.Name, err)
|
glog.Warningf("Failed to get RecentStats(%q) while determining the next housekeeping: %v", self.info.Name, err)
|
||||||
@ -126,6 +128,7 @@ func (self *containerData) nextHousekeeping(lastHousekeeping time.Time) time.Tim
|
|||||||
glog.V(1).Infof("Lowering housekeeping interval for %q to %v", self.info.Name, self.housekeepingInterval)
|
glog.V(1).Infof("Lowering housekeeping interval for %q to %v", self.info.Name, self.housekeepingInterval)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return lastHousekeeping.Add(self.housekeepingInterval)
|
return lastHousekeeping.Add(self.housekeepingInterval)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user