Make sure the Attention::saveNew does not cause an exception so queue items get removed
It's less of a problem that one queue-item does not get handled, attention wise, than that the queue keeps filling up. The typical error raised here is 'already exists' so it's not even the case that the item won't get handled (it already has been). The real problem is that the queue_item table accepts duplicates (content-wise) which it should not.
This commit is contained in:
parent
414a95a784
commit
42104612bd
@ -55,7 +55,14 @@ class TweetInQueueHandler extends QueueHandler
|
|||||||
if ($flink instanceof Foreign_link) {
|
if ($flink instanceof Foreign_link) {
|
||||||
common_log(LOG_DEBUG, "TweetInQueueHandler - Got flink so add notice ".
|
common_log(LOG_DEBUG, "TweetInQueueHandler - Got flink so add notice ".
|
||||||
$notice->id." to attentions for user ".$flink->user_id);
|
$notice->id." to attentions for user ".$flink->user_id);
|
||||||
Attention::saveNew($notice, $flink->getProfile());
|
try {
|
||||||
|
Attention::saveNew($notice, $flink->getProfile());
|
||||||
|
} catch (Exception $e) {
|
||||||
|
// Log the exception, but make sure we don't bail out, we
|
||||||
|
// still have a queue item to remove here-after.
|
||||||
|
common_log(LOG_ERR, "Failed adding notice {$notice->id} to attentions for user {$flink->user_id}: " .
|
||||||
|
$e->getMessage());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
common_log(LOG_DEBUG, "TweetInQueueHandler - No flink found for foreign user ".$receiver);
|
common_log(LOG_DEBUG, "TweetInQueueHandler - No flink found for foreign user ".$receiver);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user