Manual:$wgPoolCounterConf/cs

Podrobnosti
Konfigurace pro řízení fondu zpracování pro použití na wikinách s vysokým provozem.

Toto pole konfigurace mapuje typy fondu na konfigurace klienta. Konfigurace klienta je asociativní pole s klíčem class, který udává název třídy klienta (což by měla být podtřída ) a jakékoli další prvky, které jsou předány konstruktoru třídy. Konstruktor obdrží tři argumenty: pole konfigurace, typ fondu a název fronty. (Typ fondu se používá k identifikaci typu práce. Název fronty určuje, které požadavky se pokoušejí provést stejnou práci. Typ fondu může být například vykreslování článku a název fronty ID revize, která se zobrazuje.)

Implementace využívající Redis je součástí MediaWiki a další implementace využívající C daemon  je dostupná v.



Typy fondů
Typy fondu, které lze použít jako klíče pro pole $wgPoolCounterConf. Další typy lze zpřístupnit pomocí rozšíření:


 * ArticleView
 * Při vykreslování obsahu stránky se nenachází v mezipaměti analyzátoru (včetně starých verzí stránky).


 * GetLocalFileCopy
 * Při načítání souboru většího než 10 MB do místní cesty pro tvorbu miniatur.


 * diff
 * Při vykreslování rozdílu, pokud je velikost starého a nového textu větší než 20 000 znaků.



Možnosti konfigurace sdílené všemi klienty

 * timeout
 * Časový limit čekání v sekundách.


 * workers
 * Maximální počet aktivních vláken v každém fondu. Další pracovníci počkají, dokud se místo neuvolní.


 * maxqueue
 * Maximální počet celkových vláken v každém fondu. (Pokud tento počet pracovníků již pracuje/čeká, místo čekání selže)


 * slots
 * Maximální počet pracovníků pracujících na tomto typu úlohy bez ohledu na název fronty. 0 znamená neomezeno. Maximální povolená hodnota je 65536. Způsob, jakým je vynucován limit slotů, je příliš horlivý – tuto možnost je třeba používat opatrně.



Další možnosti konfigurace pro implementaci Redis

 * servers
 * Seznam adres serveru Redis.


 * redisConfig
 * Další konfigurační pole na.

Použití
Chcete-li použít PoolCounter, podtřídu  (nebo použijte , která může implementovat libovolnou funkcionalitu s anonymními funkcemi). Lze implementovat tři způsoby/zpětná volání:


 * doWork
 * Volá se, když pracovník pracuje na daném úkolu jako první (také když je server PoolCounter mimo provoz). Vrátí výsledek práce.


 * getCachedWork
 * Volá, když pracovník musel čekat na jiného pracovníka a tento pracovník skončil. Lze použít k získání výsledku, který byl uložen do mezipaměti pomocí doWork. Pokud není implementován nebo vrátí hodnotu false, zavolá se doWork.


 * fallback
 * Vypršel čas čekání nebo když již čeká příliš mnoho pracovníků. Může být použit k vrácení nějakého ne tak dobrého, ale levného výsledku (např. zobrazení starší revize uložené v mezipaměti namísto vykreslení nové). Pokud není implementován nebo vrací false, bude zavolána error.


 * error
 * Can be used to show an error.

Example
Example configuration:

Example of using PoolCounter: