MediaWiki/Jobs: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(32 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Es gibt bestimmte Aufgaben, die MediaWiki über einen längeren Zeitraum im Hintergrund ausführen muss.
Mediawiki-'''Jobwarteschlange''' - Verwaltet Aufgaben, die MediaWiki im Hintergrund ausführt
* Der häufigste Fall tritt auf, wenn eine Vorlage geändert wird. Angenommen, jemand fügt einer Vorlage ein Kategorie-Tag hinzu – das bedeutet, dass alle Seiten, die diese Vorlage enthalten, dieser Kategorie hinzugefügt werden müssen.
* Dieser Vorgang kann nicht auf einmal durchgeführt werden, da dies den Server erheblich verlangsamen oder sogar vorübergehend zum Absturz bringen würde.
* Stattdessen wird der Prozess in „Jobs“ zerlegt, die in eine „Job Queue“ gestellt werden – und diese Jobs werden dann geordnet ausgeführt.
* Hinter den Kulissen ist die Job-Warteschlange wirklich nur eine Datenbanktabelle namens "Job", die eine Zeile für jeden Job enthält. Diese Jobs werden in sequenzieller Reihenfolge ausgeführt, und sobald ein Job ausgeführt wird, wird seine Zeile gelöscht.
* Jobs werden jedes Mal ausgeführt, wenn das Wiki einen Seitentreffer erhält.
* Standardmäßig wird bei jedem Treffer ein Job ausgeführt, aber diese Zahl kann geändert werden, um die Ausführung von Jobs langsamer oder schneller zu machen, indem der Wert von $wgJobRunRate geändert wird.
* Um etwa die Ausführung von Jobs zehnmal schneller zu machen, würden Sie Folgendes zu LocalSettings.php hinzufügen:
$wgJobRunRate = 10;


Um es zehnmal langsamer zu machen, würden Sie den Wert auf 0,1 setzen.
== Beschreibung ==
* Sie können nicht wirklich einen Bruchteil eines Jobs ausführen – stattdessen legt ein Bruchteil die Wahrscheinlichkeit fest, dass ein Job zu einem bestimmten Zeitpunkt ausgeführt wird.
Die Job-Warteschlange ist eine Datenbanktabelle (Job), die eine Zeile für jeden Job enthält.
* Sie können auch veranlassen, dass Jobs automatisierter ausgeführt werden, anstatt nur darauf zu warten, dass sie ausgeführt werden (oder im Browser wiederholt auf „Neu laden“, um die Ausführung zu beschleunigen).
* Diese werden sequenzieller ausgeführt
* Dies geschieht durch Aufrufen des Skripts runJobs.php im MediaWiki- <tt>/maintenance </tt>. Sie können sogar einen Cron-Job erstellen, um runJobs.php regelmäßig auszuführen – sagen wir einmal am Tag.  
* sobald ein Job ausgeführt wird, wird seine Zeile gelöscht.
* Es gibt verschiedene Parameter, die runJobs.php annehmen kann, wie z. B. das Festlegen der maximalen Anzahl auszuführender Jobs oder, was vielleicht noch wichtiger ist, die Art des auszuführenden Jobs.  
* Jobs werden jedes Mal ausgeführt, wenn das Wiki einen Seitentreffer erhält.
* Um letzteres zu ermöglichen, hat jeder Auftragstyp einen eigenen Kennungsnamen, der in der Datenbank zu finden ist.  
 
; Beispiel
Einer Vorlage wird Kategorie-Tag hinzugefügt
* Alle Seiten, die diese Vorlage enthalten, müssen aktualisiert werden.
* Um Server und Wiki nicht zu verlangsamen, wird diese Aufgabe im Hintergrund nach und nach ausgeführt.
 
; Job-Warteschlange
 
== Konfiguration ==
Standardmäßig wird bei jedem Treffer ein Job ausgeführt
* diese Zahl kann geändert werden, um die Ausführung von Jobs langsamer oder schneller zu machen, indem der Wert von $wgJobRunRate geändert wird.
* Um etwa die Ausführung von Jobs zehnmal schneller zu machen, würden Sie Folgendes zu LocalSettings.php hinzufügen:
$wgJobRunRate = 10;
* Um es zehnmal langsamer zu machen, würden Sie den Wert auf 0,1 setzen.
 
== Anwendungen ==
=== runJobs.php ===
Sie können auch veranlassen, dass Jobs automatisierter ausgeführt werden, anstatt nur darauf zu warten, dass sie ausgeführt werden
* Dies geschieht durch Aufrufen des Skripts runJobs.php im MediaWiki- <tt>/maintenance </tt>.
* Sie können sogar einen Cron-Job erstellen, um runJobs.php regelmäßig auszuführen – sagen wir einmal am Tag.
** Es gibt verschiedene Parameter, die runJobs.php annehmen kann
*** z.&nbsp;B.&nbsp; das Festlegen der maximalen Anzahl auszuführender Jobs oder, was vielleicht noch wichtiger ist, die Art des auszuführenden Jobs.
*** Um letzteres zu ermöglichen, hat jeder Auftragstyp einen eigenen Kennungsnamen, der in der Datenbank zu finden ist.
* Alle Parameter für runJobs.php können Sie hier nachlesen: [https://www.mediawiki.org/wiki/Manual:RunJobs.php https://www.mediawiki.org/wiki/Manual:RunJobs.php]
* Alle Parameter für runJobs.php können Sie hier nachlesen: [https://www.mediawiki.org/wiki/Manual:RunJobs.php https://www.mediawiki.org/wiki/Manual:RunJobs.php]


Zusätzlich zum MediaWiki-Kern können Erweiterungen auch ihre eigenen Jobs erstellen.
[[Kategorie:MediaWiki/Verwaltung]]
* Einige Erweiterungen, die dies tun, sind Data Transfer, DeleteBatch, Nuke und Replace Text.
 
[[Kategorie:Wiki:Verwaltung]]

Aktuelle Version vom 1. Oktober 2024, 20:19 Uhr

Mediawiki-Jobwarteschlange - Verwaltet Aufgaben, die MediaWiki im Hintergrund ausführt

Beschreibung

Die Job-Warteschlange ist eine Datenbanktabelle (Job), die eine Zeile für jeden Job enthält.

  • Diese werden sequenzieller ausgeführt
  • sobald ein Job ausgeführt wird, wird seine Zeile gelöscht.
  • Jobs werden jedes Mal ausgeführt, wenn das Wiki einen Seitentreffer erhält.
Beispiel

Einer Vorlage wird Kategorie-Tag hinzugefügt

  • Alle Seiten, die diese Vorlage enthalten, müssen aktualisiert werden.
  • Um Server und Wiki nicht zu verlangsamen, wird diese Aufgabe im Hintergrund nach und nach ausgeführt.
Job-Warteschlange

Konfiguration

Standardmäßig wird bei jedem Treffer ein Job ausgeführt

  • diese Zahl kann geändert werden, um die Ausführung von Jobs langsamer oder schneller zu machen, indem der Wert von $wgJobRunRate geändert wird.
  • Um etwa die Ausführung von Jobs zehnmal schneller zu machen, würden Sie Folgendes zu LocalSettings.php hinzufügen:
$wgJobRunRate = 10;
  • Um es zehnmal langsamer zu machen, würden Sie den Wert auf 0,1 setzen.

Anwendungen

runJobs.php

Sie können auch veranlassen, dass Jobs automatisierter ausgeführt werden, anstatt nur darauf zu warten, dass sie ausgeführt werden

  • Dies geschieht durch Aufrufen des Skripts runJobs.php im MediaWiki- /maintenance .
  • Sie können sogar einen Cron-Job erstellen, um runJobs.php regelmäßig auszuführen – sagen wir einmal am Tag.
    • Es gibt verschiedene Parameter, die runJobs.php annehmen kann
      • z. B.  das Festlegen der maximalen Anzahl auszuführender Jobs oder, was vielleicht noch wichtiger ist, die Art des auszuführenden Jobs.
      • Um letzteres zu ermöglichen, hat jeder Auftragstyp einen eigenen Kennungsnamen, der in der Datenbank zu finden ist.
  • Alle Parameter für runJobs.php können Sie hier nachlesen: https://www.mediawiki.org/wiki/Manual:RunJobs.php