Job queue: Difference between revisions

144 bytes removed ,  4 October 2024
Line 13: Line 13:


=== Cron job ===
=== Cron job ===
<nowiki>#</nowiki>!/bin/bash
<code>
 
#!/bin/bash
<nowiki>#</nowiki> Put the MediaWiki installation path on the line below
# Put the MediaWiki installation path on the line below
 
MW_INSTALL_PATH="/home/www/www.mywikisite.example/mediawiki"
MW_INSTALL_PATH="/home/www/www.mywikisite.example/mediawiki"
 
RUN_JOBS="$MW_INSTALL_PATH/maintenance/runJobs.php --maxtime=3600"
RUN_JOBS="$MW_INSTALL_PATH/maintenance/runJobs.php --maxtime=60"
 
echo Starting job service...
echo Starting job service...
 
# Wait a minute after the server starts up to give other processes time to get started
<nowiki>#</nowiki> Wait a minute after the server starts up to give other processes time to get started
sleep 60
 
sleep 1
 
echo Started.
echo Started.
while true; do
while true; do
 
# Job types that need to be run ASAP no matter how many of them are in the queue
<nowiki>#</nowiki> Job types that need to be run ASAP no matter how many of them are in the queue
# Those jobs should be very "cheap" to run
 
php $RUN_JOBS --type="enotifNotify"
<nowiki>#</nowiki> Those jobs should be very "cheap" to run
# Everything else, limit the number of jobs on each batch
 
# The --wait parameter will pause the execution here until new jobs are added,
php $RUN_JOBS --type="enotifNotify"
# to avoid running the loop without anything to do
 
php $RUN_JOBS --wait --maxjobs=20
<nowiki>#</nowiki> Everything else, limit the number of jobs on each batch
# Wait some seconds to let the CPU do other things, like handling web requests, etc
 
echo Waiting for 10 seconds...
<nowiki>#</nowiki> The --wait parameter will pause the execution here until new jobs are added,
sleep 10
 
<nowiki>#</nowiki> to avoid running the loop without anything to do
 
php $RUN_JOBS --wait --maxjobs=20
 
<nowiki>#</nowiki> Wait some seconds to let the CPU do other things, like handling web requests, etc
 
echo Waiting for 10 seconds...
 
sleep 10
 
done
done
</code>


=== Docker ===
=== Docker ===
266

edits