From: Brion Vibber Date: Sun, 23 May 2010 00:43:56 +0000 (-0700) Subject: Hotpatch for Facebook mirror problems: drop messages when hitting rate limit (err... X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=dc22ed84807555f6a16c041c16b3bc607c6587d8;p=quix0rs-gnu-social.git Hotpatch for Facebook mirror problems: drop messages when hitting rate limit (err 341) instead of retrying forever. On unknown errors, now throwing an exception so it'll hit the message retry limits. --- diff --git a/plugins/Facebook/facebookutil.php b/plugins/Facebook/facebookutil.php index ab2d427264..045891649c 100644 --- a/plugins/Facebook/facebookutil.php +++ b/plugins/Facebook/facebookutil.php @@ -158,9 +158,22 @@ function facebookBroadcastNotice($notice) remove_facebook_app($flink); - } else { + } else if ($code == 341) { + // 341 Feed action request limit reached - Unable to update Facebook status + // Reposting immediately probably won't work, so drop the message for now. :( + + common_log(LOG_ERR, "Facebook rate limit hit: dropping notice $notice->id"); + return true; + } else { // Try sending again later. + // + // @fixme at the moment, returning false here could lead to an infinite loop + // if the error condition isn't actually transitory. + // + // Temporarily throwing an exception to kill the process so it'll hit our + // retry limits. + throw new Exception("Facebook error $code on notice $notice->id"); return false; }