Job queue

From Saintapedia
Revision as of 11:06, 4 October 2024 by Kolbe (talk | contribs) (→‎Cron job)
Jump to navigation Jump to search
Job queue on Wikipedia

The job queue in MediaWiki is a system designed to handle tasks that are too time-consuming or resource-intensive to be performed during a normal web request-response cycle.

The job queue allows MediaWiki to defer tasks that do not need immediate execution. This includes operations like updating link tables when templates change, sending notification emails, re-rendering pages after template edits, or any batch processing tasks.

Saintapedia reference

Example

Cron job

  1. !/bin/bash
  2. Put the MediaWiki installation path on the line below

MW_INSTALL_PATH="/home/www/www.mywikisite.example/mediawiki" RUN_JOBS="$MW_INSTALL_PATH/maintenance/runJobs.php --maxtime=3600" echo Starting job service...

  1. 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 no matter how many of them are in the queue # Those jobs should be very "cheap" to run php $RUN_JOBS --type="enotifNotify" # 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 $RUN_JOBS --wait --maxjobs=20 # Wait some seconds to let the CPU do other things, like handling web requests, etc echo Waiting for 10 seconds... sleep 10 done

Docker

* * * * * docker exec web php maintenance/runJobs.php --maxjobs 700 --maxtime=55

sudo crontab -e

External