protected function getNextPollTime() { $milliseconds = gcr::updatePollingMin; $ratio = GcrDatabaseAccessPostgres::getConnectionCountRatio(); // We take usage in excess of .5 of the available connections as the // point at which we start to slow down polling intervals $overuse = ($ratio - 0.5) * 2; // ratio used of the remaining 50% if ($overuse > 0) { // add on up to an extra minute depending on how close to using the // max connections we are. $milliseconds += gcr::updatePollingMax * $overuse; } return $milliseconds; }