/** * Log page * * @return \Magento\Backend\Model\View\Result\Page */ public function execute() { // Initiate Queue Processing of pending queued entities try { $this->queueTask->clearQueue(); if ($this->queueTask->getDeleteCompleteCount() > 0) { $message = __('%1 (completed) queued records were cleared. ', $this->queueTask->getDeleteCompleteCount()); // Display message on the page $this->messageManager->addSuccess($message); } if ($this->queueTask->getDeleteFailedCount() > 0) { $message = __('%1 (failed) queued records were cleared. ', $this->queueTask->getDeleteFailedCount()); // Display message on the page $this->messageManager->addSuccess($message); } } catch (\Exception $e) { // Build error message $message = __('An error occurred while clearing the queue.'); // Display error message on the page $this->messageManager->addErrorMessage($message . "\n" . __('Error Message: ') . $e->getMessage()); // Log the exception $this->avaTaxLogger->error($message, ['exception' => sprintf('Exception message: %s%sTrace: %s', $e->getMessage(), "\n", $e->getTraceAsString())]); } // Redirect browser to queue list page /** @var Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $resultRedirect->setPath('*/*/'); return $resultRedirect; }
/** * Process Queue * * @return Redirect */ public function execute() { // Initiate Queue Processing of pending queued entities try { $this->queueTask->processPendingQueue(); $message = __('The queue was successfully processed. ') . __('%1 queued records were processed. ', $this->queueTask->getProcessCount()); $this->messageManager->addSuccess($message); if ($this->queueTask->getErrorCount() > 0) { $errorMessage = __('Some queue records received errors while processing. ') . __('%1 queued records had errors. ', $this->queueTask->getErrorCount()); // Include the error messages from the queue task foreach ($this->queueTask->getErrorMessages() as $queueErrorMessage) { $errorMessage .= $queueErrorMessage; } // Display error message on the page $this->messageManager->addErrorMessage($errorMessage); } // Check for any queue records that appear to have been hung and reset them $this->queueTask->resetHungQueuedRecords(); if ($this->queueTask->getResetCount() > 0) { $errorMessage = __('Some queue records appeared to have been abandoned while processing. ') . __('%1 queued records were reset to pending so they can be retried. ', $this->queueTask->getResetCount()); // Display error message on the page $this->messageManager->addErrorMessage($errorMessage); } } catch (\Exception $e) { // Build error message $message = __('An error occurred while processing the queue. '); $partialSuccess = ''; if ($this->queueTask->getProcessCount() > 0) { $partialSuccess = ' ' . __('%1 queued records were processed. ', $this->queueTask->getProcessCount()); } // Display error message on the page $this->messageManager->addErrorMessage($message . $partialSuccess . __('Error Message: ') . $e->getMessage()); // Log the exception $this->avaTaxLogger->error($message, ['exception' => sprintf('Exception message: %s%sTrace: %s', $e->getMessage(), "\n", $e->getTraceAsString()), 'process_count' => var_export($this->queueTask->getProcessCount(), true)]); } // Redirect browser to queue list page /** @var Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $resultRedirect->setPath('*/*/'); return $resultRedirect; }