changeset 77:7041fae9549f

rework some err-vs-fatal cases
author drewp@bigasterisk.com
date Fri, 06 Sep 2024 17:54:35 -0700
parents 470eacf452cb
children 1fca0cea3bfe
files calsync/sync_event.go
diffstat 1 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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 {