self_check.go 508 B

1234567891011121314151617181920212223242526272829303132
  1. package self_check
  2. import (
  3. "errors"
  4. "github.com/uozi-tech/cosy"
  5. )
  6. func Run() (reports Reports) {
  7. reports = make(Reports, 0)
  8. for _, task := range selfCheckTasks {
  9. var cErr *cosy.Error
  10. if err := task.CheckFunc(); err != nil {
  11. errors.As(err, &cErr)
  12. }
  13. reports = append(reports, &Report{
  14. Name: task.Name,
  15. Err: cErr,
  16. })
  17. }
  18. return
  19. }
  20. func AttemptFix(taskName string) (err error) {
  21. task, ok := selfCheckTaskMap[taskName]
  22. if !ok {
  23. return ErrTaskNotFound
  24. }
  25. return task.FixFunc()
  26. }