From: Brion Vibber Date: Thu, 28 Oct 2010 19:58:30 +0000 (-0700) Subject: Kill a ping queue item if we get an error on loading up the notice's poster's profile... X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=fb0c3f4f991464e36932137730743131f8ace68c;p=quix0rs-gnu-social.git Kill a ping queue item if we get an error on loading up the notice's poster's profile, rather than letting the item be retried over and over as if it were a transitory error. This shouldn't generally happen as it's an indicator of database inconsistency, but it's a condition we know happens. --- diff --git a/lib/ping.php b/lib/ping.php index be2933ae34..abf1c4048e 100644 --- a/lib/ping.php +++ b/lib/ping.php @@ -27,7 +27,14 @@ function ping_broadcast_notice($notice) { # Array of servers, URL => type $notify = common_config('ping', 'notify'); - $profile = $notice->getProfile(); + try { + $profile = $notice->getProfile(); + } catch (Exception $e) { + // @todo: distinguish the 'broken notice/profile' case from more general + // transitory errors. + common_log(LOG_ERR, "Exception getting notice profile: " . $e->getMessage()); + return true; + } $tags = ping_notice_tags($notice); foreach ($notify as $notify_url => $type) {