New (experimental) value to define the maximum level of database connections for the worker
This commit is contained in:
parent
76c04e6782
commit
76b24f61a9
|
@ -34,7 +34,8 @@ line to your .htconfig.php:
|
||||||
* like_no_comment (Boolean) - Don't update the "commented" value of an item when it is liked.
|
* like_no_comment (Boolean) - Don't update the "commented" value of an item when it is liked.
|
||||||
* local_block (Boolean) - Used in conjunction with "block_public".
|
* local_block (Boolean) - Used in conjunction with "block_public".
|
||||||
* local_search (Boolean) - Blocks the search for not logged in users to prevent crawlers from blocking your system.
|
* local_search (Boolean) - Blocks the search for not logged in users to prevent crawlers from blocking your system.
|
||||||
* max_connections - The poller process isn't started when 3/4 of the possible database connections are used. When the system can't detect the maximum numbers of connection then this value can be used.
|
* max_connections - The poller process isn't started when the maximum level of the possible database connections are used. When the system can't detect the maximum numbers of connection then this value can be used.
|
||||||
|
* max_connections_level - The maximum level of connections that are allowed to let the poller start. It is a percentage value. Default value is 75.
|
||||||
* max_contact_queue - Default value is 500.
|
* max_contact_queue - Default value is 500.
|
||||||
* max_batch_queue - Default value is 1000.
|
* max_batch_queue - Default value is 1000.
|
||||||
* no_oembed (Boolean) - Don't use OEmbed to fetch more information about a link.
|
* no_oembed (Boolean) - Don't use OEmbed to fetch more information about a link.
|
||||||
|
|
|
@ -125,6 +125,11 @@ function poller_max_connections_reached() {
|
||||||
// Fetch the max value from the config. This is needed when the system cannot detect the correct value by itself.
|
// Fetch the max value from the config. This is needed when the system cannot detect the correct value by itself.
|
||||||
$max = get_config("system", "max_connections");
|
$max = get_config("system", "max_connections");
|
||||||
|
|
||||||
|
// Fetch the percentage level where the poller will get active
|
||||||
|
$maxlevel = get_config("system", "max_connections_level");
|
||||||
|
if ($maxlevel == 0)
|
||||||
|
$maxlevel = 75;
|
||||||
|
|
||||||
if ($max == 0) {
|
if ($max == 0) {
|
||||||
// the maximum number of possible user connections can be a system variable
|
// the maximum number of possible user connections can be a system variable
|
||||||
$r = q("SHOW VARIABLES WHERE `variable_name` = 'max_user_connections'");
|
$r = q("SHOW VARIABLES WHERE `variable_name` = 'max_user_connections'");
|
||||||
|
@ -153,10 +158,10 @@ function poller_max_connections_reached() {
|
||||||
|
|
||||||
logger("Connection usage (user values): ".$used."/".$max, LOGGER_DEBUG);
|
logger("Connection usage (user values): ".$used."/".$max, LOGGER_DEBUG);
|
||||||
|
|
||||||
$level = $used / $max;
|
$level = ($used / $max) * 100;
|
||||||
|
|
||||||
if ($level >= (3/4)) {
|
if ($level >= $maxlevel) {
|
||||||
logger("Maximum level (3/4) of user connections reached: ".$used."/".$max);
|
logger("Maximum level (".$maxlevel."%) of user connections reached: ".$used."/".$max);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -181,12 +186,12 @@ function poller_max_connections_reached() {
|
||||||
|
|
||||||
logger("Connection usage (system values): ".$used."/".$max, LOGGER_DEBUG);
|
logger("Connection usage (system values): ".$used."/".$max, LOGGER_DEBUG);
|
||||||
|
|
||||||
$level = $used / $max;
|
$level = $used / $max * 100;
|
||||||
|
|
||||||
if ($level < (3/4))
|
if ($level < $maxlevel)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
logger("Maximum level (3/4) of system connections reached: ".$used."/".$max);
|
logger("Maximum level (".$level."%) of system connections reached: ".$used."/".$max);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue