]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/UpdateServerPeers.php
spelling: effectiveness
[friendica.git] / src / Worker / UpdateServerPeers.php
index 09c88499ec63fa2e985449ab78f1b01584158334..4829b538cf18fcbb11fa477d08143e2cc8086705 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
 namespace Friendica\Worker;
 
 use Friendica\Core\Logger;
+use Friendica\Core\Worker;
 use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Model\GServer;
 use Friendica\Network\HTTPClient\Client\HttpClientAccept;
+use Friendica\Util\Network;
 use Friendica\Util\Strings;
 
 class UpdateServerPeers
@@ -55,6 +57,11 @@ 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
@@ -63,6 +70,7 @@ class UpdateServerPeers
                        // This endpoint doesn't offer the schema. So we assume that it is HTTPS.
                        GServer::add('https://' . $peer);
                        ++$added;
+                       Worker::coolDown();
                }
                Logger::info('Server peer update ended', ['total' => $total, 'added' => $added, 'url' => $url]);
        }