Help:Job queue
In MediaWiki 1.6, a job queue was introduced, to perform long-running tasks asynchronously. The job queue is designed to hold many short tasks. You can view the length of the job queue by visiting Special:Statistics on most 1.6 wikis. By default, each time a request runs, one job is taken from the job queue and executed. If the performance burden of this is too great, you can reduce $wgJobRunRate by putting something like this in your LocalSettings.php:
- $wgJobRunRate = 0.01;
You can also execute the job queue from the command line, by running maintenance/runJobs.php.
Why the job queue exists
Currently there is one application for the job queue: updating the links tables when a template changes.
The problem comes when you edit the template to use a different category. The template might be used on thousands of articles, updating the links for all of those articles would be much too slow to perform during the web request to save the article. So previous versions of MediaWiki didn't bother. The category membership wouldn't change, and it was necessary to do a "null edit" (that is, click save without making any changes), for each of the articles using the template.
MediaWiki 1.6 adds a job to the job queue for each article using the template. Each job is a command to read an article, expand any templates, and update the link table accordingly. So null edits are no longer necessary, although it may take a while for big operations to complete.
Bugs
As of version 1.7alpha (r14541), filling the job queue may fail when editing templates that are used thousands of times. See bugzilla:5527 for details and implications.