GoGronkh/gparser/utils.go

56 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 ***")
GenerateSitemap()
}
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 ***")
GenerateSitemap()
}
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()
}