| 12345678910111213141516171819202122232425262728293031 |
- // LoopFollow
- // DBSizeTask.swift
- import Foundation
- extension MainViewController {
- /// Nightscout recomputes the database size on every data load, but the value only moves
- /// by a few MiB per day, so a slow poll is enough.
- private static let dbSizeInterval: TimeInterval = 6 * 60 * 60
- func scheduleDBSizeTask(initialDelay: TimeInterval = 5) {
- let firstRun = Date().addingTimeInterval(initialDelay)
- TaskScheduler.shared.scheduleTask(id: .dbSize, nextRun: firstRun) { [weak self] in
- guard let self = self else { return }
- self.dbSizeTaskAction()
- }
- }
- func dbSizeTaskAction() {
- guard IsNightscoutEnabled() else {
- TaskScheduler.shared.rescheduleTask(id: .dbSize, to: Date().addingTimeInterval(60))
- return
- }
- webLoadNSDBSize()
- TaskScheduler.shared.rescheduleTask(id: .dbSize, to: Date().addingTimeInterval(Self.dbSizeInterval))
- }
- }
|