Remove statistics and add frequent tags in memory

This commit is contained in:
Las Zenow 2016-09-03 15:08:10 -04:00
parent 284b649b69
commit 18baa2938b
10 changed files with 35 additions and 256 deletions

View file

@ -9,40 +9,19 @@ import (
)
const (
minutesUpdateTags = 11
minutesUpdateVisited = 41
minutesUpdateDownloaded = 47
minutesUpdateHourlyV = 31
minutesUpdateDailyV = 60*12 + 7
minutesUpdateMonthlyV = 60*24 + 11
minutesUpdateHourlyD = 29
minutesUpdateDailyD = 60*12 + 13
minutesUpdateMontlyD = 60*24 + 17
minutesUpdateLogger = 5
minutesUpdateLogger = 5
)
func InitTasks(db database.DB, loggerConfig string) {
updateLogger := func() error {
return UpdateLogger(loggerConfig)
}
periodicTask(updateLogger, minutesUpdateLogger*time.Minute)
periodicTask(db.UpdateTags, minutesUpdateTags*time.Minute)
periodicTask(db.UpdateMostVisited, minutesUpdateVisited*time.Minute)
periodicTask(db.UpdateDownloadedBooks, minutesUpdateDownloaded*time.Minute)
periodicTask(db.UpdateHourVisits, minutesUpdateHourlyV*time.Minute)
periodicTask(db.UpdateDayVisits, minutesUpdateDailyV*time.Minute)
periodicTask(db.UpdateMonthVisits, minutesUpdateMonthlyV*time.Minute)
periodicTask(db.UpdateHourDownloads, minutesUpdateHourlyD*time.Minute)
periodicTask(db.UpdateDayDownloads, minutesUpdateDailyD*time.Minute)
periodicTask(db.UpdateMonthDownloads, minutesUpdateMontlyD*time.Minute)
go tasker(updateLogger, minutesUpdateLogger)
}
func periodicTask(task func() error, periodicity time.Duration) {
go tasker(task, periodicity)
}
func tasker(task func() error, minutes int) {
periodicity := time.Duration(minutes) * time.Minute
func tasker(task func() error, periodicity time.Duration) {
for true {
time.Sleep(periodicity)
err := task()