comparison calsync/cal_sync.go @ 56:635ff76f867c

WIP: rewrite: process load+sync in parallel between cals; simplify a lot
author drewp@bigasterisk.com
date Thu, 05 Sep 2024 13:50:40 -0700
parents a9b720445bcf
children 3b0595c2bf03
comparison
equal deleted inserted replaced
55:627c815f83bb 56:635ff76f867c
6 "bigasterisk.com/go/gcalendarwatch/convert" 6 "bigasterisk.com/go/gcalendarwatch/convert"
7 "bigasterisk.com/go/gcalendarwatch/gcalclient" 7 "bigasterisk.com/go/gcalendarwatch/gcalclient"
8 "bigasterisk.com/go/gcalendarwatch/mongoclient" 8 "bigasterisk.com/go/gcalendarwatch/mongoclient"
9 ) 9 )
10 10
11 func updateMongoCalsToMatchGoogle(mc *mongoclient.MongoClient, gc *gcalclient.GCalClient) (err error) { 11 func updateMongoCalsToMatchGoogleOnce(mc *mongoclient.MongoClient, gc *gcalclient.GCalClient) (err error) {
12 log.Println("updateMongoCalsToMatchGoogle") 12 log.Println("updateMongoCalsToMatchGoogle")
13 13
14 seen := make(map[string]bool) 14 seen := make(map[string]bool)
15 15
16 cals, err := gc.AllCalendars(100) 16 cals, err := gc.AllCalendars()
17 if err != nil { 17 if err != nil {
18 return err 18 return err
19 } 19 }
20 20
21 for _, cal := range cals { 21 for _, cal := range cals {
22 calUrl := gcalclient.MakeCalUrl(cal.Id) 22 calUrl := gcalclient.MakeCalUrl(cal.Id)
23 log.Println("syncing", calUrl) 23 log.Println("syncing", calUrl)
24 seen[calUrl] = true 24 seen[calUrl] = true
25 mc.UpsertOneCal(convert.MongoCalFromGoogleCal(cal)) 25 err = mc.UpsertOneCal(convert.MongoCalFromGoogleCal(cal))
26 if err != nil {
27 return err
28 }
29 log.Println("syncing", calUrl, "done")
26 } 30 }
27 31
28 return mc.DeleteCalsNotInSet(seen) 32 err = mc.DeleteCalsNotInSet(seen)
33
34 log.Println("updateMongoCalsToMatchGoogle done")
35 return err
29 } 36 }