54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"os/signal"
|
|
|
|
"github.com/robfig/cron"
|
|
)
|
|
|
|
func UpdateAll() {
|
|
UpdateAuthors()
|
|
log.Printf("*** FINISHED UPDATING AUTHORS ***")
|
|
UpdateLetsTests()
|
|
log.Printf("*** FINISHED UPDATING LETSTESTS ***")
|
|
UpdateLetsPlays()
|
|
log.Printf("*** FINISHED UPDATING LETSPLAYS ***")
|
|
UpdateEpisodes()
|
|
log.Printf("*** FINISHED UPDATING EPISODES ***")
|
|
}
|
|
|
|
func ParseAll() {
|
|
ParseAuthors()
|
|
log.Printf("*** FINISHED PARSING AUTHORS ***")
|
|
ParseLetsTests()
|
|
log.Printf("*** FINISHED PARSING LETSTESTS ***")
|
|
ParseLetsPlays()
|
|
log.Printf("*** FINISHED PARSING LETSPLAYS ***")
|
|
ParseEpisodes()
|
|
log.Printf("*** FINISHED PARSING EPISODES ***")
|
|
}
|
|
|
|
func StartCron() {
|
|
c := cron.New()
|
|
c.AddFunc("@every 1h", UpdateAll)
|
|
c.AddFunc("@every 10m", ParseRSSFeeds)
|
|
c.Start()
|
|
}
|
|
|
|
func MainLoop() {
|
|
sig := make(chan os.Signal, 1)
|
|
signal.Notify(sig)
|
|
|
|
for true {
|
|
s := <-sig
|
|
if s == os.Kill || s == os.Interrupt {
|
|
log.Printf("Quitting…")
|
|
break
|
|
}
|
|
}
|
|
|
|
wg.Wait()
|
|
}
|