Set task status to invalid instead of deleting
[MAILPOET-3359]
This commit is contained in:
@ -17,6 +17,7 @@ class ScheduledTaskEntity {
|
|||||||
const STATUS_COMPLETED = 'completed';
|
const STATUS_COMPLETED = 'completed';
|
||||||
const STATUS_SCHEDULED = 'scheduled';
|
const STATUS_SCHEDULED = 'scheduled';
|
||||||
const STATUS_PAUSED = 'paused';
|
const STATUS_PAUSED = 'paused';
|
||||||
|
const STATUS_INVALID = 'invalid';
|
||||||
const VIRTUAL_STATUS_RUNNING = 'running'; // For historical reasons this is stored as null in DB
|
const VIRTUAL_STATUS_RUNNING = 'running'; // For historical reasons this is stored as null in DB
|
||||||
const PRIORITY_HIGH = 1;
|
const PRIORITY_HIGH = 1;
|
||||||
const PRIORITY_MEDIUM = 5;
|
const PRIORITY_MEDIUM = 5;
|
||||||
|
@ -24,6 +24,7 @@ class ScheduledTask extends Model {
|
|||||||
const STATUS_COMPLETED = ScheduledTaskEntity::STATUS_COMPLETED;
|
const STATUS_COMPLETED = ScheduledTaskEntity::STATUS_COMPLETED;
|
||||||
const STATUS_SCHEDULED = ScheduledTaskEntity::STATUS_SCHEDULED;
|
const STATUS_SCHEDULED = ScheduledTaskEntity::STATUS_SCHEDULED;
|
||||||
const STATUS_PAUSED = ScheduledTaskEntity::STATUS_PAUSED;
|
const STATUS_PAUSED = ScheduledTaskEntity::STATUS_PAUSED;
|
||||||
|
const STATUS_INVALID = ScheduledTaskEntity::STATUS_INVALID;
|
||||||
const VIRTUAL_STATUS_RUNNING = ScheduledTaskEntity::VIRTUAL_STATUS_RUNNING; // For historical reasons this is stored as null in DB
|
const VIRTUAL_STATUS_RUNNING = ScheduledTaskEntity::VIRTUAL_STATUS_RUNNING; // For historical reasons this is stored as null in DB
|
||||||
const PRIORITY_HIGH = ScheduledTaskEntity::PRIORITY_HIGH;
|
const PRIORITY_HIGH = ScheduledTaskEntity::PRIORITY_HIGH;
|
||||||
const PRIORITY_MEDIUM = ScheduledTaskEntity::PRIORITY_MEDIUM;
|
const PRIORITY_MEDIUM = ScheduledTaskEntity::PRIORITY_MEDIUM;
|
||||||
|
@ -108,10 +108,11 @@ class Sending {
|
|||||||
public static function handleInvalidTask(ScheduledTask $task) {
|
public static function handleInvalidTask(ScheduledTask $task) {
|
||||||
$loggerFactory = LoggerFactory::getInstance();
|
$loggerFactory = LoggerFactory::getInstance();
|
||||||
$loggerFactory->getLogger(LoggerFactory::TOPIC_NEWSLETTERS)->addError(
|
$loggerFactory->getLogger(LoggerFactory::TOPIC_NEWSLETTERS)->addError(
|
||||||
'invalid sending task found, deleting',
|
'invalid sending task found',
|
||||||
['task_id' => $task->id]
|
['task_id' => $task->id]
|
||||||
);
|
);
|
||||||
$task->delete();
|
$task->status = ScheduledTask::STATUS_INVALID;
|
||||||
|
$task->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function createFromScheduledTask(ScheduledTask $task) {
|
public static function createFromScheduledTask(ScheduledTask $task) {
|
||||||
|
@ -62,7 +62,9 @@ class SendingTest extends \MailPoetTest {
|
|||||||
$this->queue->delete();
|
$this->queue->delete();
|
||||||
$sendings = SendingTask::createManyFromTasks([$this->task]);
|
$sendings = SendingTask::createManyFromTasks([$this->task]);
|
||||||
expect($sendings)->isEmpty();
|
expect($sendings)->isEmpty();
|
||||||
expect(ScheduledTask::findOne($this->task->id))->equals(false);
|
$task = ScheduledTask::findOne($this->task->id);
|
||||||
|
assert($task instanceof ScheduledTask);
|
||||||
|
expect($task->status)->equals(ScheduledTask::STATUS_INVALID);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItCanBeCreatedFromScheduledTask() {
|
public function testItCanBeCreatedFromScheduledTask() {
|
||||||
|
Reference in New Issue
Block a user