ProfileTask.swift 862 B

1234567891011121314151617181920212223242526272829303132
  1. //
  2. // ProfileTask.swift
  3. // LoopFollow
  4. //
  5. // Created by Jonas Björkert on 2025-01-11.
  6. // Copyright © 2025 Jon Fawcett. All rights reserved.
  7. //
  8. import Foundation
  9. extension MainViewController {
  10. func scheduleProfileTask(initialDelay: TimeInterval = 3) {
  11. let firstRun = Date().addingTimeInterval(initialDelay)
  12. TaskScheduler.shared.scheduleTask(id: .profile, nextRun: firstRun) { [weak self] in
  13. guard let self = self else { return }
  14. self.profileTaskAction()
  15. }
  16. }
  17. func profileTaskAction() {
  18. guard IsNightscoutEnabled() else {
  19. TaskScheduler.shared.rescheduleTask(id: .profile, to: Date().addingTimeInterval(60))
  20. return
  21. }
  22. self.webLoadNSProfile()
  23. TaskScheduler.shared.rescheduleTask(id: .profile, to: Date().addingTimeInterval(10 * 60))
  24. }
  25. }