MediaWiki/Jobs: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
Es gibt bestimmte Aufgaben, die MediaWiki über einen längeren Zeitraum im Hintergrund ausführen muss. | |||
* 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. | |||
Es gibt bestimmte Aufgaben, die MediaWiki über einen längeren Zeitraum im Hintergrund ausführen muss. 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. | * 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. | * 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. | |||
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 | * 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; | $wgJobRunRate = 10; | ||
Um es zehnmal langsamer zu machen, würden Sie den Wert auf 0,1 setzen. | |||
* 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. | |||
* 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). | |||
* 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, wie 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 https://www.mediawiki.org/wiki/Manual:RunJobs.php] | |||
Zusätzlich zum MediaWiki-Kern können Erweiterungen auch ihre eigenen Jobs erstellen. | |||
* Einige Erweiterungen, die dies tun, sind Data Transfer, DeleteBatch, Nuke und Replace Text. | |||
Zusätzlich zum MediaWiki-Kern können Erweiterungen auch ihre eigenen Jobs erstellen. Einige Erweiterungen, die dies tun, sind Data Transfer, DeleteBatch, Nuke und Replace Text. | |||
[[Kategorie:Wiki:Verwaltung]] | [[Kategorie:Wiki:Verwaltung]] |
Version vom 13. April 2022, 19:04 Uhr
Es gibt bestimmte Aufgaben, die MediaWiki über einen längeren Zeitraum im Hintergrund ausführen muss.
- 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.
- 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.
- 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).
- 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, wie 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
Zusätzlich zum MediaWiki-Kern können Erweiterungen auch ihre eigenen Jobs erstellen.
- Einige Erweiterungen, die dies tun, sind Data Transfer, DeleteBatch, Nuke und Replace Text.