This commit is contained in:
2026-02-27 21:20:08 -07:00
commit 2f35c9dd34
12 changed files with 203 additions and 0 deletions

40
internal/daemon/daemon.go Normal file
View File

@@ -0,0 +1,40 @@
package daemon
import (
"context"
"log"
"time"
"git.jthan.io/jonathan/gobar/internal/config"
"git.jthan.io/jonathan/gobar/internal/collectors"
"git.jthan.io/jonathan/gobar/internal/output"
)
func Run(ctx context.Context, cfg config.Config) error {
ticker := time.NewTicker(cfg.Interval)
defer ticker.Stop()
log.Printf("daemon started (interval=%s)", cfg.Interval)
for {
select {
case <-ctx.Done():
log.Println("daemon shutting down")
return nil
case <-ticker.C:
runOnce(ctx)
}
}
}
func runOnce(ctx context.Context) {
m, err := collectors.Collect()
if err != nil {
log.Println("collect error:", err)
return
}
output.Print(m)
}