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.
This commit is contained in:
Brion Vibber 2010-10-28 12:58:30 -07:00
parent 9ea7cafd27
commit fb0c3f4f99

View 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) {