#!/bin/bash set -euo pipefail # From https://www.mediawiki.org/wiki/Manual:Job_queue IP=/var/www/html RJ=$IP/maintenance/runJobs.php echo Starting job service... # Wait a minute after the server starts up to give other processes time to get started sleep 60 echo Started. while true; do # Job types that need to be run ASAP mo matter how many of them are in the queue # Those jobs should be very "cheap" to run php $RJ --type="enotifNotify" php $RJ --type="htmlCacheUpdate" --maxjobs=50 # Everything else, limit the number of jobs on each batch # The --wait parameter will pause the execution here until new jobs are added, # to avoid running the loop without anything to do php $RJ --wait --maxjobs=10 # Wait some seconds to let the CPU do other things, like handling web requests, etc echo Waiting for 10 seconds... sleep 10 done