Handle exceptions when salmon slapping

Make it so notifyDeferred actually _always_ throws exceptions and handle
them in the places it is called.
This commit is contained in:
Mikael Nordfeldth 2016-01-20 14:55:41 +01:00
parent 80dc2788dd
commit fa8e02b832
1 changed files with 12 additions and 7 deletions

View File

@ -376,14 +376,19 @@ class Ostatus_profile extends Managed_DataObject
public function notifyDeferred($entry, $actor)
{
if ($this->salmonuri) {
common_debug("OSTATUS: user {$actor->getNickname()} ({$actor->getID()}) wants to ping {$this->localProfile()->getNickname()} on {$this->salmonuri}");
$data = array('salmonuri' => $this->salmonuri,
'entry' => $this->notifyPrepXml($entry),
'actor' => $actor->getID(),
'target' => $this->localProfile()->getID());
try {
common_debug("OSTATUS: user {$actor->getNickname()} ({$actor->getID()}) wants to ping {$this->localProfile()->getNickname()} on {$this->salmonuri}");
$data = array('salmonuri' => $this->salmonuri,
'entry' => $this->notifyPrepXml($entry),
'actor' => $actor->getID(),
'target' => $this->localProfile()->getID());
$qm = QueueManager::get();
return $qm->enqueue($data, 'salmon');
$qm = QueueManager::get();
return $qm->enqueue($data, 'salmon');
} catch (Exception $e) {
common_log(LOG_ERR, 'OSTATUS: Something went wrong when creating a Salmon slap: '._ve($e->getMessage()));
return false;
}
}
return false;