From 03e8609e4ec9940d70eacb9290b599cfd964557d Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 8 Mar 2020 19:48:26 +0000 Subject: [PATCH] Performance changes to the gcontact discovery --- src/Model/GContact.php | 35 ++++++++++++----------------------- src/Worker/UpdateGContact.php | 8 +++----- 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/src/Model/GContact.php b/src/Model/GContact.php index a13b719a9c..19ab87ca45 100644 --- a/src/Model/GContact.php +++ b/src/Model/GContact.php @@ -1282,7 +1282,7 @@ class GContact * @param string $url URL of a profile * @return void */ - public static function discoverFollowers(string $url, int $following_gcid = 0, int $follower_gcid = 0) + public static function discoverFollowers(string $url) { $gcontact = DBA::selectFirst('gcontact', ['id', 'last_discovery'], ['nurl' => Strings::normaliseLink(($url))]); if (!DBA::isResult($gcontact)) { @@ -1296,16 +1296,6 @@ class GContact $gcid = $gcontact['id']; - if (!empty($following_gcid)) { - $fields = ['gcid' => $following_gcid, 'follower-gcid' => $gcid]; - Logger::info('Set relation for followed gcontact', $fields); - DBA::update('gfollower', ['deleted' => false], $fields, true); - } elseif (!empty($follower_gcid)) { - $fields = ['gcid' => $gcid, 'follower-gcid' => $follower_gcid]; - Logger::info('Set relation for following gcontact', $fields); - DBA::update('gfollower', ['deleted' => false], $fields, true); - } - $apcontact = APContact::getByURL($url); if (!empty($apcontact['followers']) && is_string($apcontact['followers'])) { @@ -1350,17 +1340,12 @@ class GContact continue; } - $follower_gcid = 0; - $following_gcid = 0; - - if (in_array($contact, $followers)) { - $following_gcid = $gcid; - } elseif (in_array($contact, $followings)) { - $follower_gcid = $gcid; + if (!Network::isUrlBlocked($contact)) { + Logger::info('Discover new AP contact', ['url' => $contact]); + Worker::add(PRIORITY_LOW, 'UpdateGContact', $contact); + } else { + Logger::info('No discovery, the URL is blocked.', ['url' => $contact]); } - - Logger::info('Discover new AP contact', ['url' => $contact]); - Worker::add(PRIORITY_LOW, 'UpdateGContact', $contact, '', $following_gcid, $follower_gcid); } if (!empty($followers)) { // Delete all followers that aren't undeleted @@ -1395,8 +1380,12 @@ class GContact if (DBA::exists('gcontact', ['nurl' => Strings::normaliseLink(($entry['value']))])) { continue; } - Logger::info('Discover new PoCo contact', ['url' => $entry['value']]); - Worker::add(PRIORITY_LOW, 'UpdateGContact', $entry['value']); + if (!Network::isUrlBlocked($entry['value'])) { + Logger::info('Discover new PoCo contact', ['url' => $entry['value']]); + Worker::add(PRIORITY_LOW, 'UpdateGContact', $entry['value']); + } else { + Logger::info('No discovery, the URL is blocked.', ['url' => $entry['value']]); + } } } } diff --git a/src/Worker/UpdateGContact.php b/src/Worker/UpdateGContact.php index fda1a650b4..b88e0899e9 100644 --- a/src/Worker/UpdateGContact.php +++ b/src/Worker/UpdateGContact.php @@ -29,12 +29,10 @@ class UpdateGContact { /** * Update global contact via probe - * @param string $url Global contact url + * @param string $url Global contact url * @param string $command - * @param integer $following_gcid gcontact ID of the contact that is followed by this one - * @param integer $follower_gcid gcontact ID of the contact that is following this one */ - public static function execute(string $url, string $command = '', int $following_gcid = 0, int $follower_gcid = 0) + public static function execute(string $url, string $command = '') { $force = ($command == "force"); @@ -43,7 +41,7 @@ class UpdateGContact Logger::info('Updated from probe', ['url' => $url, 'force' => $force, 'success' => $success]); if ($success && DI::config()->get('system', 'gcontact_discovery')) { - GContact::discoverFollowers($url, $following_gcid, $follower_gcid); + GContact::discoverFollowers($url); } } }