Add error log when pausing sending due an error
[MAILPOET-4940]
This commit is contained in:
committed by
Aschepikov
parent
f11aca925f
commit
0bbdf4b47f
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace MailPoet\Mailer;
|
||||
|
||||
use MailPoet\Logging\LoggerFactory;
|
||||
use MailPoet\Settings\SettingsController;
|
||||
|
||||
/**
|
||||
@@ -173,6 +174,13 @@ class MailerLog {
|
||||
$mailerLog = self::setError($mailerLog, $operation, $errorMessage, $errorCode);
|
||||
self::updateMailerLog($mailerLog);
|
||||
if ($pauseSending) {
|
||||
LoggerFactory::getInstance()->getLogger(LoggerFactory::TOPIC_SENDING)->error(
|
||||
'Email sending was paused due an error',
|
||||
[
|
||||
'error_message' => $errorMessage,
|
||||
'error_code' => $errorCode,
|
||||
]
|
||||
);
|
||||
self::pauseSending($mailerLog);
|
||||
}
|
||||
self::enforceExecutionRequirements();
|
||||
@@ -202,6 +210,13 @@ class MailerLog {
|
||||
$mailerLog['transactional_email_error_count'] = ($mailerLog['transactional_email_error_count'] ?? 0) + 1;
|
||||
self::updateMailerLog($mailerLog);
|
||||
if ($mailerLog['transactional_email_error_count'] >= self::RETRY_ATTEMPTS_LIMIT) {
|
||||
LoggerFactory::getInstance()->getLogger(LoggerFactory::TOPIC_SENDING)->error(
|
||||
'Email sending was paused due a transactional email error',
|
||||
[
|
||||
'error_message' => $errorMessage,
|
||||
'error_code' => $errorCode,
|
||||
]
|
||||
);
|
||||
self::pauseSending($mailerLog);
|
||||
}
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace MailPoet\Test\Mailer;
|
||||
|
||||
use MailPoet\Entities\LogEntity;
|
||||
use MailPoet\Mailer\Mailer;
|
||||
use MailPoet\Mailer\MailerError;
|
||||
use MailPoet\Mailer\MailerLog;
|
||||
@@ -265,6 +266,9 @@ class MailerLogTest extends \MailPoetTest {
|
||||
'error_message' => $error,
|
||||
]
|
||||
);
|
||||
$logs = $this->entityManager->getRepository(LogEntity::class)->findAll();
|
||||
$this->assertInstanceOf(LogEntity::class, $logs[0]);
|
||||
expect($logs[0]->getMessage())->stringContainsString('Email sending was paused due an error');
|
||||
}
|
||||
|
||||
public function testItProcessesTransactionalEmailSendingError() {
|
||||
@@ -318,6 +322,9 @@ class MailerLogTest extends \MailPoetTest {
|
||||
expect($mailerLog['transactional_email_last_error_at'])->null();
|
||||
expect($mailerLog['transactional_email_error_count'])->null();
|
||||
expect(MailerLog::isSendingPaused())->true();
|
||||
$logs = $this->entityManager->getRepository(LogEntity::class)->findAll();
|
||||
$this->assertInstanceOf(LogEntity::class, $logs[0]);
|
||||
expect($logs[0]->getMessage())->stringContainsString('Email sending was paused due a transactional email error');
|
||||
}
|
||||
|
||||
public function testItEnforcesSendingLimit() {
|
||||
@@ -448,5 +455,6 @@ class MailerLogTest extends \MailPoetTest {
|
||||
|
||||
public function _after() {
|
||||
$this->diContainer->get(SettingsRepository::class)->truncate();
|
||||
$this->truncateEntity(LogEntity::class);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user