X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FUpdateServerPeers.php;h=4829b538cf18fcbb11fa477d08143e2cc8086705;hb=4139134cfd2f86ba6fec2adef37bca16ab466514;hp=ff0cdfa730d7446cb8dc491908a8b033ee6e137f;hpb=ee8689cc899beecaf0943ac175550a7fb49cf199;p=friendica.git diff --git a/src/Worker/UpdateServerPeers.php b/src/Worker/UpdateServerPeers.php index ff0cdfa730..4829b538cf 100644 --- a/src/Worker/UpdateServerPeers.php +++ b/src/Worker/UpdateServerPeers.php @@ -1,6 +1,6 @@ get($url . '/api/v1/instance/peers'); + $ret = DI::httpClient()->get($url . '/api/v1/instance/peers', HttpClientAccept::JSON); if (!$ret->isSuccess() || empty($ret->getBody())) { Logger::info('Server is not reachable or does not offer the "peers" endpoint', ['url' => $url]); return; @@ -52,14 +57,20 @@ class UpdateServerPeers $total = 0; $added = 0; foreach ($peers as $peer) { + if (Network::isUrlBlocked('https://' . $peer)) { + // Ignore blocked systems as soon as possible in the loop to avoid being slowed down by tar pits + continue; + } + ++$total; if (DBA::exists('gserver', ['nurl' => Strings::normaliseLink('http://' . $peer)])) { // We already know this server continue; } // This endpoint doesn't offer the schema. So we assume that it is HTTPS. - Worker::add(PRIORITY_LOW, 'UpdateGServer', 'https://' . $peer); + GServer::add('https://' . $peer); ++$added; + Worker::coolDown(); } Logger::info('Server peer update ended', ['total' => $total, 'added' => $added, 'url' => $url]); }