Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgRunJobsAsync and the translation is 52% complete.
Other languages:
English • ‎français • ‎magyar • ‎polski • ‎中文 • ‎日本語
Tâches: $wgRunJobsAsync
Contrôle si les tâches liées aux requêtes sont exécutées de manière asynchrone ou synchrone.
Introduit dans la version :1.23.0
Retiré dans la version :Encore utilisé
Valeurs autorisées :(booléen)
Valeur par défaut :false (1.27.2, 1.28.1, 1.29+) git #1214a7ca
true (versions précédentes)

Quand l'exécution des tâches pendant les requêtes normales des pages est activée (en fixant $wgJobRunRate à un nombre plus grand que 0; par défaut 1), alors cette variable contrôle s'il faut les exécuter d'une manière asynchrone ou pas.


When running jobs asynchronously, an internal HTTP connection for handling the execution of jobs will be opened, and MediaWiki will return the contents of the page immediately to the client without waiting for the job to complete. Otherwise, the job will be executed in the same process as the returning of the page and the client will have to wait until the job is completed. When the job does not run asynchronously, if a fatal error occurs during job execution, it will propagate to the client, aborting the loading of the page.

Même si $wgRunJobsAsync est mis à true, si PHP ne peut pas ouvrir une socket pour faire la requête HTTP interne, il va se replier sur l'exécution de la tâche en mode synchrone.

Les pages n'apparaissent pas dans leurs catégories

Plusieurs utilisateurs ont des problèmes avec les pages qui n'apparaissent pas dans leurs catégories, bien qu'elles leurs soient correctement assignées. Dans la plupart des cas, c'est un problème lié à la file d'attente des tâches. The issue people usually have is that pages do not (in fact: not immediately) appear inside their categories. Reasons may be different: It is possible that the job queue is not working at all or that for the way the wiki is being used the queue is not executing enough jobs per page view so that constantly more jobs get queued than are executed effectively stalling execution.

Dans ces cas, il faudrait essayer les choses suivantes :

  • Essayer d'exécuter les tâches directement avec runJobs.php .
  • Afterwards, use the showJobs.php maintenance script to verify that there are 0 jobs in the queue. If there still are any jobs (no matter if they are queued, claimed or delayed), then TRUNCATE the database table jobs in the database. Ceci va supprimer de la base de données, toutes les tâches non lancées. This might possibly also remove jobs, which were scheduled to be run in the future. These jobs logically will then not be run as they are getting deleted just as all other jobs.
  • Afterwards, run refreshLinks.php maintenance script to get the link tables updated. After that point, category pages will show their member pages correctly again (at least for the current categorization state of the pages).
  • Set $wgRunJobsAsync to false and $wgJobRunRate to 2 or higher. Ceci aide souvent (mais les performances deviennent plus mauvaises).
  • Afterwards, do a few edits, adding or removing categories from pages. Then monitor the contents of the job table or use the showJobs.php maintenance script to check, if jobs are getting executed now.

Voir aussi