Legoktm has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/392781 )
Change subject: Add a systemd unit to run runJobs.php as a service ...................................................................... Add a systemd unit to run runJobs.php as a service Using --wait, the script will act as a daemon and just wait for new jobs to come in and then immediately process them. The main concern with such a setup is that runJobs.php needs to restart to pick up code and configuration changes. We set --maxjobs=50 so it restarts somewhat regularly, and set a timeout of 5 minutes, after which it will sleep for 15 seconds and then restart. This service is not enabled by default since after installing the package you still need to manually install MediaWiki before this can be run. Ideally we could set something like `After=mysql.service` but we don't actually know the database backend being used. It's possible this will be a race condition but the script will just crash and restart in 15 seconds, hopefully by then MySQL would be up. This is inspired by the setup translatewiki.net has, and thanks to Nikerabbit for explaining it to me. Bug: T160035 Change-Id: Iec3ee0ab72f8caf8cbc1da005cd53b7b6d20e2c1 --- A debian/mediawiki.mediawiki-jobrunner.service M debian/rules 2 files changed, 28 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/debian refs/changes/81/392781/1 diff --git a/debian/mediawiki.mediawiki-jobrunner.service b/debian/mediawiki.mediawiki-jobrunner.service new file mode 100644 index 0000000..6ac53da --- /dev/null +++ b/debian/mediawiki.mediawiki-jobrunner.service @@ -0,0 +1,18 @@ +[Unit] +Description=MediaWiki job runner +Documentation=https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:RunJobs.php + +[Service] +User=www-data +Group=www-data +ExecStart=/usr/bin/php /var/lib/mediawiki/maintenance/runJobs.php --wait --maxjobs=50 +Restart=always +RestartSec=15 +RuntimeMaxSec=300 +PrivateDevices=true +PrivateTmp=true +ProtectHome=read-only + +[Install] +WantedBy=multi-user.target + diff --git a/debian/rules b/debian/rules index 5f43c70..57eb05d 100755 --- a/debian/rules +++ b/debian/rules @@ -50,5 +50,15 @@ find debian/mediawiki -depth \( -name ".cvsignore" -o -name ".gitignore" -o -name ".arch-ids" \) -exec rm -rf {} \; dh_installdeb +override_dh_systemd_enable: + # Do not enable by default, the user needs to manually + # configure MediaWiki first. + dh_systemd_enable --no-enable --name=mediawiki-jobrunner + +override_dh_installinit: + # We only have a systemd unit, not sysvinit. + # Can be removed in debhelper compat 11 + dh_installinit -Nmediawiki + %: dh $@ --with apache2 -- To view, visit https://gerrit.wikimedia.org/r/392781 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iec3ee0ab72f8caf8cbc1da005cd53b7b6d20e2c1 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/debian Gerrit-Branch: master Gerrit-Owner: Legoktm <lego...@member.fsf.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits