Mercurial > code > home > repos > gcalendarwatch
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 } |