comparison calsync/mongoclient/events_collection.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 6c7151126a0b
comparison
equal deleted inserted replaced
55:627c815f83bb 56:635ff76f867c
5 "time" 5 "time"
6 6
7 "go.mongodb.org/mongo-driver/bson" 7 "go.mongodb.org/mongo-driver/bson"
8 "go.mongodb.org/mongo-driver/mongo/options" 8 "go.mongodb.org/mongo-driver/mongo/options"
9 ) 9 )
10
11 func LogWithCal(cal MongoCal, msg ...interface{}) {
12 log.Println("cal:", (cal.GoogleId+"........")[:8], msg)
13 }
10 14
11 func (c *MongoClient) UpsertOneEvent(ev MongoEvent) error { 15 func (c *MongoClient) UpsertOneEvent(ev MongoEvent) error {
12 filter := bson.M{"_id": ev.Url} 16 filter := bson.M{"_id": ev.Url}
13 setFields := ev 17 setFields := ev
14 update := bson.M{"$set": setFields} 18 update := bson.M{"$set": setFields}
17 return err 21 return err
18 } 22 }
19 return nil 23 return nil
20 } 24 }
21 25
22 func (c *MongoClient) DeleteEventsUpdatedBefore(t time.Time) error { 26 func (c *MongoClient) DeleteEventsUpdatedBefore(cal MongoCal, t time.Time) error {
23 res, err := c.eventsCollection.DeleteMany(c.ctx, bson.M{"lastUpdated": bson.M{"$lt": t}}) 27 res, err := c.eventsCollection.DeleteMany(
24 log.Println("deleted", res.DeletedCount, "events") 28 c.ctx,
29 bson.M{"calendarUrl": cal.Url,
30 "lastUpdated": bson.M{"$lt": t}})
31 LogWithCal(cal, "deleted", res.DeletedCount, "events updated before", t)
25 if err != nil { 32 if err != nil {
26 return err 33 return err
27 } 34 }
28 return nil 35 return nil
29 } 36 }