Set task status to invalid instead of deleting

[MAILPOET-3359]
This commit is contained in:
wxa
2021-03-08 14:10:48 +03:00
committed by Veljko V
parent a0ad4ffb20
commit 67824f9eb1
4 changed files with 8 additions and 3 deletions

View File

@ -17,6 +17,7 @@ class ScheduledTaskEntity {
const STATUS_COMPLETED = 'completed';
const STATUS_SCHEDULED = 'scheduled';
const STATUS_PAUSED = 'paused';
const STATUS_INVALID = 'invalid';
const VIRTUAL_STATUS_RUNNING = 'running'; // For historical reasons this is stored as null in DB
const PRIORITY_HIGH = 1;
const PRIORITY_MEDIUM = 5;

View File

@ -24,6 +24,7 @@ class ScheduledTask extends Model {
const STATUS_COMPLETED = ScheduledTaskEntity::STATUS_COMPLETED;
const STATUS_SCHEDULED = ScheduledTaskEntity::STATUS_SCHEDULED;
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 PRIORITY_HIGH = ScheduledTaskEntity::PRIORITY_HIGH;
const PRIORITY_MEDIUM = ScheduledTaskEntity::PRIORITY_MEDIUM;

View File

@ -108,10 +108,11 @@ class Sending {
public static function handleInvalidTask(ScheduledTask $task) {
$loggerFactory = LoggerFactory::getInstance();
$loggerFactory->getLogger(LoggerFactory::TOPIC_NEWSLETTERS)->addError(
'invalid sending task found, deleting',
'invalid sending task found',
['task_id' => $task->id]
);
$task->delete();
$task->status = ScheduledTask::STATUS_INVALID;
$task->save();
}
public static function createFromScheduledTask(ScheduledTask $task) {

View File

@ -62,7 +62,9 @@ class SendingTest extends \MailPoetTest {
$this->queue->delete();
$sendings = SendingTask::createManyFromTasks([$this->task]);
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() {