Manuel:RunJobs.php

From mediawiki.org
This page is a translated version of the page Manual:RunJobs.php and the translation is 80% complete.
Outdated translations are marked like this.

Détails

Le fichier runJobs.php est un script de maintenance qui force manuellement la file d'attente des tâches à s'exécuter. En fonctionnement normal, les tâches de la file d'attente sont exécutées comme une fonction de l'interaction d'utilisateur avec le wiki (ordinairement des requêtes Apache) Le tau de job par défaut est 1 pour 1 et peut être changé en ajustant $wgJobRunRate dans le fichier LocalSettings.php Notez que la mémoire limite par défaut pour un job est 150 MB afin qu'un job défectueux de consomme toute la mémoire du serveur.

Vous désirez peut-être utiliser ce script parce que le trafic sur votre wiki est trop faible pour vider la file d'attente, ou il peut y avoir un nombre exceptionnellement grand de jobs à éliminer. Soyez conscient tout de même que pour beaucoup de configurations de serveur, cela peut rendre votre wiki paresseux ou même sourd jusqu'à l'achèvement du script. Vous seriez avisé de tester d'abord 50 ou 100 jobs pour sentir la rapidité du script avant de lancer celui-ci sans paramètre (le script est réglé par défaut à 10000 jobs vidés par exécution) ou pour plus que quelques centaines de jobs.

Notez aussi que si vous avez lancé accidentellement un script qui a chargé une file d'attente avec un nombre important de jobs non désirés ou inutiles, il est aussi possible de vider complètement la file d'attente en vidant la table job dans votre base de donnée du wiki. Assurez vous qu'aucun des jobs de la file d'attente n'est nécessaire car tous les jobs définitivement supprimés.

Utilisation

php maintenance/runJobs.php

Utilisation avancée

php runJobs.php [--conf|--dbpass|--dbuser|--globals|--help|--maxjobs|--maxtime|--memory-limit|--nothrottle|--procs|--quiet|--server|--type|--wait|--wiki]

Paramètres de maintenance génériques

Option/paramètre Description
aucun paramètre Va exécuter toutes les tâches présentes dans la file d'attente
--help (-h) Afficher ce message d'aide
--quiet (-q) Indique s'il faut supprimer la sortie qui n'est pas en erreur
--conf Emplacement de LocalSettings.php, s'il n'est pas la valeur par défaut
--wiki Pour spécifier l'ID du wiki
--globals Produit les variables globales à la fin du traitement, pour le débogage
--memory-limit Set a specific memory limit for the script, "max" for no limit or "default" to avoid changing it
--server The protocol and server name to use in URLs, e.g. https://en.wikipedia.org. This is sometimes necessary because server name detection may fail in command line scripts.

Paramètres dépendants du script

Option/paramètre Description
--dbuser L'utilisateur DB à utiliser pour ce script
--dbpass Le mot de passe à utiliser pour ce script

Paramètres spécifiques au script

Option/paramètre Description
--maxjobs Nombre maximal de lignes à analyser
--maxtime Maximum amount of wall-clock time (in seconds)
--procs Nombre de processus à utiliser
--type Type de tâche à exécuter. Voir $wgJobClasses pour les types possibles de tâche.
--wait Attendre de nouvelles tâches plutôt que de sortir
--nothrottle Ignorer la configuration qui limite le nombre de tâches
--result Set to "json" to print only a JSON response

Exemple

php maintenance/runJobs.php --maxjobs 5 --type refreshLinks
/home/flowerwiki/public_html/w/maintenance$ php runJobs.php --maxjobs 5 --type refreshLinks

2010-10-29 13:50:38 refreshLinks Daisies t=501 good
2010-10-29 13:50:38 refreshLinks Magnolias t=501 good
2010-10-29 13:50:39 refreshLinks Heirloom_Roses t=500 good
2010-10-29 13:50:39 refreshLinks Carnations t=501 good
2010-10-29 13:50:40 refreshLinks Tulips t=563 good
It is not recommended to have "runJobs.php" run indefinitely without any limits (--maxjobs, --maxtime and/or --memory-limit). Typical usage involves periodic runs with at least one of the restrictions set to prevent it from running too long in one go.

Mises en garde

"runJobs.php" may hang under certain circumstances if you have object caching enabled.

If this happens, create another "LocalSettings.php" file without object caching enabled:

$wgMainCacheType = CACHE_NONE;

Then run "runJobs.php" with the --conf parameter to specify the location of the new LocalSettings.php file with caching disabled.

This is, however, not recommended, since some jobs will purge objects from the object cache, which won't get purged because caching is disabled. Ceci résultera en ce que certaines mises à jour ne seront pas reportées sur le wiki. Ideally, you should find the cause of the problem, usually a missing PHP extension in the php.ini of the php being run from the command line.

Voir aussi