extract website calendar fetch
1 file changed, 10 insertions(+), 11 deletions(-)
changed files
M domain/web/website.go → domain/web/website.go
@@ -99,11 +99,6 @@ URL: opts.CalendarURL, Timezone: opts.Timezone, Cache: !opts.Development, }, log.Named("calendar")) - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) - if err := website.calendar.FetchIfNeeded(ctx); err != nil { - log.Error("could not fetch calendar", "error", err) - } - cancel() website.identity = identity.New(opts.OIDC, log.Named("identity")) website.publisher, err = publisher.New(&publisher.Options{@@ -146,13 +141,9 @@ updated := sync.OnceFunc(func() { firstUpdate <- true close(firstUpdate) + website.FetchCalendar() for range time.Tick(15 * time.Minute) { - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) - err := website.calendar.FetchIfNeeded(ctx) - if err != nil { - log.Warn("could not update calendar", "error", err) - } - cancel() + website.FetchCalendar() } }) for root := range roots {@@ -223,3 +214,11 @@ } return nil } + +func (w *Website) FetchCalendar() { + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + if err := w.calendar.FetchIfNeeded(ctx); err != nil { + w.log.Error("could not fetch calendar", "error", err) + } + cancel() +}