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;
|
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 = {
|
services.mediawiki = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
@ -72,6 +107,7 @@ in
|
||||||
# Server settings
|
# Server settings
|
||||||
$wgFavicon = 'https://www.crans.org/images/favicon.ico';
|
$wgFavicon = 'https://www.crans.org/images/favicon.ico';
|
||||||
$wgLogo = 'https://www.crans.org/images/crans.svg';
|
$wgLogo = 'https://www.crans.org/images/crans.svg';
|
||||||
|
$wgJobRunRate = 0; # On fait les jobs manuellement dans un systemd.
|
||||||
|
|
||||||
# Files and Uploads
|
# Files and Uploads
|
||||||
$wgMaxUploadSize = 512 * 1024 * 1024;
|
$wgMaxUploadSize = 512 * 1024 * 1024;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue