Make scrape periodic + goroutine-based

This commit is contained in:
2024-01-30 12:40:14 -06:00
parent a2affb1dd4
commit 000eab55b9

13
main.go
View File

@@ -274,12 +274,19 @@ func main() {
log.Info().Str("term", term).Str("sessionID", sessionID).Msg("Setting selected term") log.Info().Str("term", term).Str("sessionID", sessionID).Msg("Setting selected term")
SelectTerm(term) SelectTerm(term)
// Scrape on startup // Launch a goroutine to scrape the banner system periodically
err = Scrape() go func() {
for {
err := Scrape()
if err != nil { if err != nil {
log.Fatal().Err(err).Msg("Startup Scrape Failed") log.Fatal().Err(err).Msg("Periodic Scrape Failed")
} }
// Wait 5 minutes
time.Sleep(3 * time.Minute)
}
}()
// Close session, ensure http client closes idle connections // Close session, ensure http client closes idle connections
defer session.Close() defer session.Close()
defer client.CloseIdleConnections() defer client.CloseIdleConnections()