ted
(Ted Johansson)
9월 6, 2024, 8:56오전
9
이는 문제 검사 트래커는 존재하지만 문제 검사 로직이 더 이상 존재하지 않기 때문에 발생했을 가능성이 가장 높습니다. 이러한 상황이 발생하는 가장 일반적인 원인은 문제 검사를 포함하는 플러그인을 설치한 후 다시 제거하는 것입니다. 그러면 트래커는 남아있지만 검사 로직은 사라지게 됩니다.
해당 문제에 대한 수정 사항은 다음과 같습니다:
main ← dev/clear-trackers-for-uninstalled-checks
merged 02:11AM - 18 Sep 24 UTC
### What is this change?
When running checks, we look to the existing problem… check trackers and try to grab their `ProblemCheck` classes.
In some cases this is no longer in the problem check repository, e.g. when the check was part of a plugin that has been uninstalled.
In the case where the check was scheduled, this would lead to an error in one of the jobs.
### How does this fix it?
This fix has two parts:
1. If a problem check tracker can't find it's `ProblemCheck` class, it destroys itself and any admin notices associated with it. It then returns `nil`.
2. The job that selects which checks to run now accounts for the fact that the `ProblemCheck` class could be `nil`, and filters it out of the run.
Bonus:
- Scheduled checks now honour the `enabled = false` configuration, same as realtime checks.
2개의 좋아요