We use the maintenance/listTaskCounts.php script in production to generate data for a Grafana dashboard, as well as to populate a cache for Special:NewcomerTasksInfo.
The mechanism for listTaskCounts uses the same infrastructure we use to generate task sets for users. This has two unwanted side effects:
- a TaskSet is cached for the user, which is not a huge problem in itself, but is not really correct either, since in this context we always want uncached data
- The TaskSetListener.php is invoked after a TaskSet is fetched, which in turns triggers calls to the image suggestion API to filter out image suggestion tasks that no longer have metadata. We definitely don't need this to happen, as it involves spamming the image suggestion service.
Acceptance Criteria
- listTaskCounts.php should not result in cached TaskSet
- listTaskCounts.php should not spam the image suggestion service
Completion checklist
Functionality
- The patches have been code reviewed and merged
- The task passes its acceptance criteria
Engineering
- There are existing and passing unit/integration tests
- Tests for every involved patch should pass
- Coverage for every involved project should have improved or stayed the same
Design & QA
- If the task is UX/Design related: it must be reviewed and approved by the UX/Design team
- Must be reviewed and approved by Quality Assurance.
Documentation
- Related and updated documentation done where necessary
- Internal technical changes: internal repository documentation must be updated (README.md, JSDoc, PHPDoc)
- Infrastructure technical changes: technical changes that reflect on environment, infrastructure, endpoints or any other area of interest for technical contributors should be reflected on Extension:GrowthExperiments or Extension:GrowthExperiments/Technical documentation pages.