mirror of https://gitlab.crans.org/nounous/nixos
mediawiki: jobs de fond
parent
5d9c7552c8
commit
ad343789a0
|
|
@ -52,6 +52,41 @@ in
|
|||
|
||||
services.syslogd.enable = true;
|
||||
|
||||
# Tâches lourdes à gérer au fond https://www.mediawiki.org/wiki/Manual:Job_queue
|
||||
systemd.services.mediawiki-jobs =
|
||||
let
|
||||
# Hack pour retrouver la conf
|
||||
conf = config.services.phpfpm.pools.mediawiki.phpEnv.MEDIAWIKI_CONFIG;
|
||||
php = "${config.services.mediawiki.phpPackage}/bin/php";
|
||||
maintenanceScript = "${config.services.mediawiki.finalPackage}/share/mediawiki/maintenance/run.php";
|
||||
runJobs = "MEDIAWIKI_CONFIG='${conf}' ${php} ${maintenanceScript} runJobs --maxtime=3600";
|
||||
in
|
||||
{
|
||||
description = "Tâches lourdes de Mediawiki";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "phpfpm-mediawiki.service" ];
|
||||
path = [ pkgs.mediawiki ];
|
||||
# Inspiré de https://www.mediawiki.org/wiki/Manual:Job_queue
|
||||
script = ''
|
||||
while true; do
|
||||
${runJobs} --type="enotifNotify"
|
||||
# --wait pour ne pas boucler pour rien
|
||||
${runJobs} --wait --maxjobs=20
|
||||
# Au bout de 20 jobs on attend pour éviter une surcharge du serveur
|
||||
sleep 10
|
||||
done
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
RestartSec = "60s";
|
||||
User = "mediawiki";
|
||||
Nice = 10;
|
||||
ProtectSystem = "full";
|
||||
OOMScoreAdjust = 200;
|
||||
};
|
||||
};
|
||||
|
||||
services.mediawiki = {
|
||||
enable = true;
|
||||
|
||||
|
|
@ -72,6 +107,7 @@ in
|
|||
# Server settings
|
||||
$wgFavicon = 'https://www.crans.org/images/favicon.ico';
|
||||
$wgLogo = 'https://www.crans.org/images/crans.svg';
|
||||
$wgJobRunRate = 0; # On fait les jobs manuellement dans un systemd.
|
||||
|
||||
# Files and Uploads
|
||||
$wgMaxUploadSize = 512 * 1024 * 1024;
|
||||
|
|
|
|||
Loading…
Reference in New Issue