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
 * Wait timeout in seconds.


 * workers
 * Maximum number of active threads in each pool. Additional workers will wait until a place is freed up.


 * maxqueue
 * Maximum number of total threads in each pool. (If this number of workers are already working/waiting, fail instead of wait)


 * slots
 * Maximum number of workers working on this task type, regardless of queue name. 0 means unlimited. Max allowed value is 65536. The way the slot limit is enforced is overzealous - this option should be used with caution.

Additional configuration options for the Redis implementation

 * servers
 * List of Redis server addresses.


 * redisConfig
 * Extra configuration array for.

Usage
To use PoolCounter, subclass the  class (or use   which can implement arbitrary functionality with anonymous functions). Three methods/callbacks can be implemented:


 * doWork
 * called when the worker is the first to work on the given task (also when the PoolCounter server is down). Returns the result of the work.


 * getCachedWork
 * called when the worker had to wait on another worker and that worker has finished. Can be used to get a result that has been cached by doWork. If not implemented or returns false, doWork will be called.


 * fallback
 * called on wait timeout or when there are too many workers waiting already. Can be used to return some not so good but cheap result (e.g. showing a cached older revision instead of rendering the new one). If not implemented or returns false, error will be called.


 * error
 * Can be used to show an error.

Example
Example configuration:

Example of using PoolCounter: