Remove statistics and add frequent tags in memory
This commit is contained in:
parent
284b649b69
commit
18baa2938b
10 changed files with 35 additions and 256 deletions
|
@ -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()
|
||||
|
|
Reference in a new issue