Steps to replicate the issue:
- Install TimedNotify: https://www.mediawiki.org/wiki/Extension:TimedNotify
- Use TimedNotify to regularly notify people of certain issues, e.g. some page needs attention. We send to multiple users per page.
- Run your jobs at 120 jobs every 10 seconds.
What happens?:
The amount of EchoNotificationDeleteJob jobs keeps increasing with about 50 every 2 seconds. Not regularly clearing these jobs has had us have more than 300,000 jobs of this type, which is quite a lot for a wiki with 8000 content pages and 6000 users.
What should have happened instead?:
There must be a better way to do what EchoNotificationDeleteJob does, without overflowing the job queue.
We have considered increasing our job throughput, but it seems to us that the task EchoNotificationDeleteJob has is not important enough to justify requiring that many resources.
In particular, it should not be necessary to have multiple of these jobs for the same user (And having 300,000 jobs with only 6000 users means we have average of 500 jobs per user)
Software version:
MediaWiki 1.43.1
PHP 8.1.33 (apache2handler)
ICU 72.1
MariaDB 10.11.13-MariaDB-log