Merge pull request #10330 from annando/local-probing

Improved logging for local probing, avoid worker fork
This commit is contained in:
Hypolite Petovan 2021-05-29 08:31:27 -04:00 committed by GitHub
commit 0b5107a1a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 3 deletions

View File

@ -271,7 +271,7 @@ class Contact
// Update the contact in the background if needed // Update the contact in the background if needed
$updated = max($contact['success_update'], $contact['created'], $contact['updated'], $contact['last-update'], $contact['failure_update']); $updated = max($contact['success_update'], $contact['created'], $contact['updated'], $contact['last-update'], $contact['failure_update']);
if (($updated < DateTimeFormat::utc('now -7 days')) && in_array($contact['network'], Protocol::FEDERATED)) { if (($updated < DateTimeFormat::utc('now -7 days')) && in_array($contact['network'], Protocol::FEDERATED) && !self::isLocalById($contact['id'])) {
Worker::add(PRIORITY_LOW, "UpdateContact", $contact['id']); Worker::add(PRIORITY_LOW, "UpdateContact", $contact['id']);
} }

View File

@ -87,10 +87,11 @@ class Relation
$uid = User::getIdForURL($url); $uid = User::getIdForURL($url);
if (!empty($uid)) { if (!empty($uid)) {
// Fetch the followers/followings locally Logger::info('Fetch the followers/followings locally', ['url' => $url]);
$followers = self::getContacts($uid, [Contact::FOLLOWER, Contact::FRIEND]); $followers = self::getContacts($uid, [Contact::FOLLOWER, Contact::FRIEND]);
$followings = self::getContacts($uid, [Contact::SHARING, Contact::FRIEND]); $followings = self::getContacts($uid, [Contact::SHARING, Contact::FRIEND]);
} else { } elseif (!Contact::isLocal($url)) {
Logger::info('Fetch the followers/followings by polling the endpoints', ['url' => $url]);
$apcontact = APContact::getByURL($url, false); $apcontact = APContact::getByURL($url, false);
if (!empty($apcontact['followers']) && is_string($apcontact['followers'])) { if (!empty($apcontact['followers']) && is_string($apcontact['followers'])) {
@ -104,6 +105,10 @@ class Relation
} else { } else {
$followings = []; $followings = [];
} }
} else {
Logger::notice('Contact seems to be local but could not be found here', ['url' => $url]);
$followers = [];
$followings = [];
} }
if (empty($followers) && empty($followings)) { if (empty($followers) && empty($followings)) {