Files
grosbeak/cmd/api/main.go
Matt Jadud f53639af2f Queueing, prepping to fetch
A lot more to go, but this is the core.

Need to think about how to test the queue handlers.
2025-11-30 21:29:30 -05:00

41 lines
709 B
Go

package main
import (
"log"
"sync"
"time"
_ "modernc.org/sqlite"
"git.jadud.com/jadudm/grosbeak/internal/engine"
base "git.jadud.com/jadudm/grosbeak/internal/types"
)
func main() {
// Don't let `main()` exit
wg := &sync.WaitGroup{}
wg.Add(1)
db := setupDB()
d64m := setupDomain64Map(db)
queue := setupLiteQ(db, d64m)
// Enqueue URLs
urls := []struct {
url string
uf base.UpdateFrequency
}{
{"https://jadud.com/", base.UPDATE_DAILY},
{"https://berea.us/", base.UPDATE_WEEKLY},
}
for _, u := range urls {
engine.Entre(queue, &base.EntreJob{URL: u.url, UpdateFrequency: u.uf})
time.Sleep(1 * time.Second)
}
// Don't exit.
log.Println("Waiting for godot...")
wg.Wait()
}