# HG changeset patch # User drewp@bigasterisk.com # Date 1725670475 25200 # Node ID 7041fae9549f90b29b159618242fdaab872ebc50 # Parent 470eacf452cba4086d01e0f69b767deb4b1a53a4 rework some err-vs-fatal cases diff -r 470eacf452cb -r 7041fae9549f calsync/sync_event.go --- a/calsync/sync_event.go Fri Sep 06 17:53:21 2024 -0700 +++ b/calsync/sync_event.go Fri Sep 06 17:54:35 2024 -0700 @@ -1,6 +1,7 @@ package main import ( + "fmt" "log" "math/rand" "time" @@ -41,7 +42,12 @@ for _, cal := range cals { rd := newCalEventsReader(mc, gc, router, cal, initialSyncT1, initialSyncT2) - go rd.watchForUpdates() + go func() { + err := rd.watchForUpdates() + if err != nil { + log.Println("ERROR", M.Prefix(rd.cal), "watchForUpdates: ", err, "(aborting this calendar)") + } + }() } return nil } @@ -70,7 +76,7 @@ err := r.updateInitialRange() if err != nil { - log.Fatal(err) + return err } watchLifetime := time.Duration(3) * time.Minute @@ -78,10 +84,11 @@ syncFunc := notificationrouter.SyncFunc(func() { err := r.sync() if err != nil { - log.Fatal(err) + log.Fatalln("ERROR", M.Prefix(r.cal), "sync: ", err) } }) go r.renewWatchEventsForever(watchLifetime, syncFunc) + return nil } func (r *calEventsReader) watchForUpdatesJitteredStartup() { @@ -126,7 +133,7 @@ func (r *calEventsReader) sync() error { events, nextSyncToken, err := r.gc.ListEventUpdates(r.cal, r.syncToken) if err != nil { - return err + return fmt.Errorf("ListEventUpdates: %v", err) } r.syncToken = nextSyncToken for _, ev := range events {