Extension:External Data/Throttling data retrievals

,,  ,  ,   and   can be throttled per data source, that is, a delay between calls to the same web service or program will be enforced. Meanwhile, a message informing that calls are throttled will be shown, or stale cache, if allowed and available will be used.

For web sites and soap services, throttling is configured by the variables  and  : The keys to both array can be:
 * is an array of templates generating a throttle key. The wildcards like,   or   will be replaced with their corresponding values. The default value is   meaning that, for example, any call to any page in Wikipedia in any language will have the throttle key  ;
 * is an array of floats holding the mimimal interval, in seconds, between calls to web services with the same throttle key.
 * The full URL,
 * host,
 * second-level domain,
 * or  for the default fallback for any site.

For programs, throtting is configured by the  and. The keys to these arrays are program identifiers. The  key template will have all parameters to the program substituted in it, although, in most cases setting the throttle key to a constant (unique for each configured program) is sufficient.

Throttling makes sense, when there are numerous calls of parser function (e.g., caused by a template embedded many times) addressing the same external service or program that either requires much computational resources or is, effectively, a call to an external service, like youtube-dl.

If there are no throttling key or throttling interval is zero or not set, there will be no throttling. This is the default setting.