Clean up tasker code
This commit is contained in:
parent
4130e43689
commit
b196750fa5
1 changed files with 11 additions and 74 deletions
85
tasker.go
85
tasker.go
|
@ -5,85 +5,22 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func InitTasks(db *DB) {
|
func InitTasks(db *DB) {
|
||||||
initTagsTask(db)
|
periodicTask(db.UpdateTags, MINUTES_UPDATE_TAGS*time.Minute)
|
||||||
initVisitedTask(db)
|
periodicTask(db.UpdateMostVisited, MINUTES_UPDATE_VISITED*time.Minute)
|
||||||
initDownloadedTask(db)
|
periodicTask(db.UpdateDownloadedBooks, MINUTES_UPDATE_DOWNLOADED*time.Minute)
|
||||||
initHourVisitsTask(db)
|
periodicTask(db.UpdateHourVisits, MINUTES_UPDATE_HOURLY*time.Minute)
|
||||||
initDayVisitsTask(db)
|
periodicTask(db.UpdateDayVisits, MINUTES_UPDATE_DAILY*time.Minute)
|
||||||
initMonthVisitsTask(db)
|
periodicTask(db.UpdateMonthVisits, MINUTES_UPDATE_MONTHLY*time.Minute)
|
||||||
initHourDownloadsTask(db)
|
periodicTask(db.UpdateHourDownloads, MINUTES_UPDATE_HOURLY*time.Minute)
|
||||||
initDayDownloadsTask(db)
|
periodicTask(db.UpdateDayDownloads, MINUTES_UPDATE_DAILY*time.Minute)
|
||||||
initMonthDownloadsTask(db)
|
periodicTask(db.UpdateMonthDownloads, MINUTES_UPDATE_MONTHLY*time.Minute)
|
||||||
}
|
}
|
||||||
|
|
||||||
func initTagsTask(db *DB) {
|
func periodicTask(task func() error, periodicity time.Duration) {
|
||||||
updateTags := func() {
|
|
||||||
db.UpdateTags()
|
|
||||||
}
|
|
||||||
periodicTask(updateTags, MINUTES_UPDATE_TAGS*time.Minute)
|
|
||||||
}
|
|
||||||
|
|
||||||
func initVisitedTask(db *DB) {
|
|
||||||
updateVisited := func() {
|
|
||||||
db.UpdateMostVisited()
|
|
||||||
}
|
|
||||||
periodicTask(updateVisited, MINUTES_UPDATE_VISITED*time.Minute)
|
|
||||||
}
|
|
||||||
|
|
||||||
func initDownloadedTask(db *DB) {
|
|
||||||
updateDownloaded := func() {
|
|
||||||
db.UpdateDownloadedBooks()
|
|
||||||
}
|
|
||||||
periodicTask(updateDownloaded, MINUTES_UPDATE_DOWNLOADED*time.Minute)
|
|
||||||
}
|
|
||||||
|
|
||||||
func initHourVisitsTask(db *DB) {
|
|
||||||
updateHourVisits := func() {
|
|
||||||
db.UpdateHourVisits()
|
|
||||||
}
|
|
||||||
periodicTask(updateHourVisits, MINUTES_UPDATE_HOURLY*time.Minute)
|
|
||||||
}
|
|
||||||
|
|
||||||
func initDayVisitsTask(db *DB) {
|
|
||||||
updateDayVisits := func() {
|
|
||||||
db.UpdateDayVisits()
|
|
||||||
}
|
|
||||||
periodicTask(updateDayVisits, MINUTES_UPDATE_HOURLY*time.Minute)
|
|
||||||
}
|
|
||||||
|
|
||||||
func initMonthVisitsTask(db *DB) {
|
|
||||||
updateMonthVisits := func() {
|
|
||||||
db.UpdateMonthVisits()
|
|
||||||
}
|
|
||||||
periodicTask(updateMonthVisits, MINUTES_UPDATE_HOURLY*time.Minute)
|
|
||||||
}
|
|
||||||
|
|
||||||
func initHourDownloadsTask(db *DB) {
|
|
||||||
updateHourDownloads := func() {
|
|
||||||
db.UpdateHourDownloads()
|
|
||||||
}
|
|
||||||
periodicTask(updateHourDownloads, MINUTES_UPDATE_HOURLY*time.Minute)
|
|
||||||
}
|
|
||||||
|
|
||||||
func initDayDownloadsTask(db *DB) {
|
|
||||||
updateDayDownloads := func() {
|
|
||||||
db.UpdateDayDownloads()
|
|
||||||
}
|
|
||||||
periodicTask(updateDayDownloads, MINUTES_UPDATE_HOURLY*time.Minute)
|
|
||||||
}
|
|
||||||
|
|
||||||
func initMonthDownloadsTask(db *DB) {
|
|
||||||
updateMonthDownloads := func() {
|
|
||||||
db.UpdateMonthDownloads()
|
|
||||||
}
|
|
||||||
periodicTask(updateMonthDownloads, MINUTES_UPDATE_HOURLY*time.Minute)
|
|
||||||
}
|
|
||||||
|
|
||||||
func periodicTask(task func(), periodicity time.Duration) {
|
|
||||||
go tasker(task, periodicity)
|
go tasker(task, periodicity)
|
||||||
}
|
}
|
||||||
|
|
||||||
func tasker(task func(), periodicity time.Duration) {
|
func tasker(task func() error, periodicity time.Duration) {
|
||||||
for true {
|
for true {
|
||||||
time.Sleep(periodicity)
|
time.Sleep(periodicity)
|
||||||
task()
|
task()
|
||||||
|
|
Reference in a new issue