diff options
author | Craig Andrews <candrews@integralblue.com> | 2010-02-02 17:00:10 -0500 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2010-02-02 17:00:10 -0500 |
commit | 057ec1fceacbfec1f755a5bc6700a188aa70e33f (patch) | |
tree | 297839a71d9d3a7a0a7935d5dbcc9c4a3c6c99bb /lib/distribqueuehandler.php | |
parent | d14651706cf728f116b7ae44c6a6e37b5eb918a4 (diff) | |
parent | f60f2c523f2e7018ea923898931287e7a99e8f44 (diff) |
Merge branch '0.9.x' into 1.0.x
Conflicts:
EVENTS.txt
lib/imqueuehandler.php
lib/jabber.php
lib/util.php
plugins/Xmpp/Sharing_XMPP.php
Diffstat (limited to 'lib/distribqueuehandler.php')
-rw-r--r-- | lib/distribqueuehandler.php | 55 |
1 files changed, 46 insertions, 9 deletions
diff --git a/lib/distribqueuehandler.php b/lib/distribqueuehandler.php index f458d238d..4477468d0 100644 --- a/lib/distribqueuehandler.php +++ b/lib/distribqueuehandler.php @@ -62,23 +62,60 @@ class DistribQueueHandler { // XXX: do we need to change this for remote users? - $notice->saveTags(); + try { + $notice->saveTags(); + } catch (Exception $e) { + $this->logit($notice, $e); + } - $groups = $notice->saveGroups(); + try { + $groups = $notice->saveGroups(); + } catch (Exception $e) { + $this->logit($notice, $e); + } - $recipients = $notice->saveReplies(); + try { + $recipients = $notice->saveReplies(); + } catch (Exception $e) { + $this->logit($notice, $e); + } - $notice->addToInboxes($groups, $recipients); + try { + $notice->addToInboxes($groups, $recipients); + } catch (Exception $e) { + $this->logit($notice, $e); + } - $notice->saveUrls(); + try { + $notice->saveUrls(); + } catch (Exception $e) { + $this->logit($notice, $e); + } - Event::handle('EndNoticeSave', array($notice)); + try { + Event::handle('EndNoticeSave', array($notice)); + // Enqueue for other handlers + } catch (Exception $e) { + $this->logit($notice, $e); + } - // Enqueue for other handlers - - common_enqueue_notice($notice); + try { + common_enqueue_notice($notice); + } catch (Exception $e) { + $this->logit($notice, $e); + } return true; } + + protected function logit($notice, $e) + { + common_log(LOG_ERR, "Distrib queue exception saving notice $notice->id: " . + $e->getMessage() . ' ' . + str_replace("\n", " ", $e->getTraceAsString())); + + // We'll still return true so we don't get stuck in a loop + // trying to run a bad insert over and over... + } } |