]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Kill a ping queue item if we get an error on loading up the notice's poster's profile...
authorBrion Vibber <brion@pobox.com>
Thu, 28 Oct 2010 19:58:30 +0000 (12:58 -0700)
committerBrion Vibber <brion@pobox.com>
Thu, 28 Oct 2010 19:58:30 +0000 (12:58 -0700)
This shouldn't generally happen as it's an indicator of database inconsistency, but it's a condition we know happens.

lib/ping.php

index be2933ae34016fb8dd17901e320ca86f6596c5be..abf1c4048edddb5a6c3f1bcbd783d75d9b4c9abe 100644 (file)
@@ -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) {