/** * Do the magic and publish all new messages thu the transport. * * @return bool Returns TRUE on successful execution, FALSE on error */ public function execute() { $failures = $successes = array(); $transport = $this->getTransport(); // initialize the transport $transport->initialize($this->getOptions()); /* @var $message \DMK\Mklog\Domain\Model\DevlogEntryModel */ foreach ($this->findMessages() as $message) { try { $transport->publish($message); // mark entry as send for current transport $this->markAsTransported($message); $successes[$message->getUid()] = ''; } catch (\Exception $e) { $failures[$message->getUid()] = $e->getMessage(); } } // shutdown the transport $transport->shutdown(); \tx_rnbase::load('tx_rnbase_util_Logger'); $success = empty($failures); $msg = sprintf('WatchDog %1$s has %2$d messages send and %3$d failures.', $this->getTransportId(), count($successes), count($failures)); \tx_rnbase_util_Logger::devLog($msg, 'mklog', $success ? \tx_rnbase_util_Logger::LOGLEVEL_DEBUG : \tx_rnbase_util_Logger::LOGLEVEL_WARN, array('transport' => $this->getTransportId(), 'successes' => $successes, 'failures' => $failures)); // create a flash message for the beuser \tx_rnbase::load('tx_rnbase_util_TYPO3'); if (\tx_rnbase_util_TYPO3::getBEUserUID()) { \tx_rnbase::load('tx_rnbase_util_Misc'); \tx_rnbase_util_Misc::addFlashMessage($msg, 'MK LOGGER WatchDog', $success ? 0 : 2, false); } return $success; }