tangled
alpha
login
or
join now
whey.party
/
rinds
4
fork
atom
A collection of Custom Bluesky Feeds, including Fresh Feeds, all under one roof
4
fork
atom
overview
issues
2
pulls
pipelines
periodic tracking refresh
rimar1337
10 months ago
adc8d983
b160d13e
+19
1 changed file
expand all
collapse all
unified
split
indexer
indexer.go
+19
indexer/indexer.go
···
136
136
return lastCursor
137
137
}
138
138
139
139
+
// Periodically refreshes the trackedDIDs and trackedDIDsMap from the database.
140
140
+
func startTrackedDIDRefreshJob(db *sql.DB) {
141
141
+
ticker := time.NewTicker(10 * time.Minute)
142
142
+
defer ticker.Stop()
143
143
+
144
144
+
for range ticker.C {
145
145
+
updatedDIDs, err := getTrackedDIDs(context.Background(), db)
146
146
+
if err != nil {
147
147
+
log.Printf("Failed to refresh tracked DIDs: %v", err)
148
148
+
continue
149
149
+
}
150
150
+
initTrackedDIDsMap(updatedDIDs)
151
151
+
trackedDIDs = updatedDIDs
152
152
+
log.Printf("Refreshed tracked DIDs: %v\n", trackedDIDs)
153
153
+
}
154
154
+
}
139
155
func main() {
140
156
// Connect to Postgres // Open the database connection
141
157
dbHost := os.Getenv("DB_HOST")
···
173
189
initTrackedDIDsMap(trackedDIDs)
174
190
175
191
go startBatchInsertFollowJob(db)
192
192
+
193
193
+
go startTrackedDIDRefreshJob(db)
194
194
+
176
195
// If the cursor is older than 24 hours, skip it
177
196
if lastCursor > 0 {
178
197
cursorTime := time.UnixMicro(lastCursor)