From b196750fa5c25472d189d5aa1acb73509e56665e Mon Sep 17 00:00:00 2001 From: Las Zenow Date: Tue, 11 Feb 2014 11:02:22 +0100 Subject: [PATCH] Clean up tasker code --- tasker.go | 85 +++++++------------------------------------------------ 1 file changed, 11 insertions(+), 74 deletions(-) diff --git a/tasker.go b/tasker.go index 6af725c..f3c3586 100644 --- a/tasker.go +++ b/tasker.go @@ -5,85 +5,22 @@ import ( ) func InitTasks(db *DB) { - initTagsTask(db) - initVisitedTask(db) - initDownloadedTask(db) - initHourVisitsTask(db) - initDayVisitsTask(db) - initMonthVisitsTask(db) - initHourDownloadsTask(db) - initDayDownloadsTask(db) - initMonthDownloadsTask(db) + periodicTask(db.UpdateTags, MINUTES_UPDATE_TAGS*time.Minute) + periodicTask(db.UpdateMostVisited, MINUTES_UPDATE_VISITED*time.Minute) + periodicTask(db.UpdateDownloadedBooks, MINUTES_UPDATE_DOWNLOADED*time.Minute) + periodicTask(db.UpdateHourVisits, MINUTES_UPDATE_HOURLY*time.Minute) + periodicTask(db.UpdateDayVisits, MINUTES_UPDATE_DAILY*time.Minute) + periodicTask(db.UpdateMonthVisits, MINUTES_UPDATE_MONTHLY*time.Minute) + periodicTask(db.UpdateHourDownloads, MINUTES_UPDATE_HOURLY*time.Minute) + periodicTask(db.UpdateDayDownloads, MINUTES_UPDATE_DAILY*time.Minute) + periodicTask(db.UpdateMonthDownloads, MINUTES_UPDATE_MONTHLY*time.Minute) } -func initTagsTask(db *DB) { - 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) { +func periodicTask(task func() error, periodicity time.Duration) { go tasker(task, periodicity) } -func tasker(task func(), periodicity time.Duration) { +func tasker(task func() error, periodicity time.Duration) { for true { time.Sleep(periodicity) task()