all repos — homestead @ 3803597e512831ab7d79f81aa91f66c0b3ef9de2

Code for my website

extract website calendar fetch

Alan Pearce
commit

3803597e512831ab7d79f81aa91f66c0b3ef9de2

parent

98986576c26b04ef5a984637066348513161224e

1 file changed, 10 insertions(+), 11 deletions(-)

changed files
M domain/web/website.godomain/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() +}