| 1234567891011121314151617181920212223242526272829303132 |
- //
- // TreatmentsTask.swift
- // LoopFollow
- //
- // Created by Jonas Björkert on 2025-01-11.
- // Copyright © 2025 Jon Fawcett. All rights reserved.
- //
- import Foundation
- extension MainViewController {
- func scheduleTreatmentsTask(initialDelay: TimeInterval = 5) {
- let firstRun = Date().addingTimeInterval(initialDelay)
- TaskScheduler.shared.scheduleTask(id: .treatments, nextRun: firstRun) { [weak self] in
- guard let self = self else { return }
- self.treatmentsTaskAction()
- }
- }
- func treatmentsTaskAction() {
- // If Nightscout not enabled, wait 60s and try again
- guard IsNightscoutEnabled(), UserDefaultsRepository.downloadTreatments.value else {
- TaskScheduler.shared.rescheduleTask(id: .treatments, to: Date().addingTimeInterval(60))
- return
- }
- WebLoadNSTreatments()
- TaskScheduler.shared.rescheduleTask(id: .treatments, to: Date().addingTimeInterval(2 * 60))
- }
- }
|