/** * @see parent * * @param int $identifier * @return bool */ public function attempt($identifier) { $request = unserialize($this->getObject()); $api = new Bronto_Api($request->getToken()); try { $this->delete(); $deliveryOps = $api->transferDelivery(); foreach ($deliveryOps->createWritePager($request) as $result) { $delivery = $result->getOriginal(); $item = $result->getItem(); if ($item->getIsError()) { Mage::throwException("Failed to send failed delivery {$item->getErrorString()}"); } if ($delivery->hasEmailClass()) { $delivery->withId($item->getId()); $email = Mage::getModel($delivery->getEmailClass()); $email->triggerBeforeAfterSend($deliveryOps, $delivery); } } } catch (Exception $e) { $this->store($delivery, $request->getToken(), $this->getAttempts() + 1); return false; } return true; }