Rename unprocessed status, refactor counting a bit more clearly [MAILPOET-987]

This commit is contained in:
stoletniy
2017-07-20 10:56:34 +03:00
parent 6aca598dc3
commit c924778d50
7 changed files with 17 additions and 20 deletions

View File

@ -39,7 +39,7 @@ class Bounce extends SimpleWorker {
function prepareTask(ScheduledTask $task) {
BounceTask::prepareSubscribers($task);
if(!ScheduledTaskSubscriber::getToProcessCount($task->id)) {
if(!ScheduledTaskSubscriber::getUnprocessedCount($task->id)) {
$task->delete();
return false;
}

View File

@ -4,7 +4,7 @@ namespace MailPoet\Models;
if(!defined('ABSPATH')) exit;
class ScheduledTaskSubscriber extends Model {
const STATUS_TO_PROCESS = 0;
const STATUS_UNPROCESSED = 0;
const STATUS_PROCESSED = 1;
public static $_table = MP_SCHEDULED_TASK_SUBSCRIBERS_TABLE;
@ -21,7 +21,7 @@ class ScheduledTaskSubscriber extends Model {
$task_subscriber->task_id = $data['task_id'];
$task_subscriber->subscriber_id = $data['subscriber_id'];
$task_subscriber->processed = !empty($data['processed']) ? self::STATUS_PROCESSED : self::STATUS_TO_PROCESS;
$task_subscriber->processed = !empty($data['processed']) ? self::STATUS_PROCESSED : self::STATUS_UNPROCESSED;
$task_subscriber->save();
return $task_subscriber;
@ -36,12 +36,12 @@ class ScheduledTaskSubscriber extends Model {
}
}
static function getToProcessCount($task_id) {
return self::getCount($task_id, false);
static function getUnprocessedCount($task_id) {
return self::getCount($task_id, self::STATUS_UNPROCESSED);
}
static function getProcessedCount($task_id) {
return self::getCount($task_id, true);
return self::getCount($task_id, self::STATUS_PROCESSED);
}
static function getTotalCount($task_id) {
@ -51,10 +51,7 @@ class ScheduledTaskSubscriber extends Model {
private static function getCount($task_id, $processed = null) {
$orm = self::where('task_id', $task_id);
if(!is_null($processed)) {
$orm->where(
'processed',
($processed) ? self::STATUS_PROCESSED : self::STATUS_TO_PROCESS
);
$orm->where('processed', $processed);
}
return $orm->count();
}

View File

@ -19,7 +19,7 @@ class Bounce {
AND s.`status` IN (?, ?)',
array(
$task->id,
ScheduledTaskSubscriber::STATUS_TO_PROCESS,
ScheduledTaskSubscriber::STATUS_UNPROCESSED,
Subscriber::STATUS_SUBSCRIBED,
Subscriber::STATUS_UNCONFIRMED
)

View File

@ -41,7 +41,7 @@ class Subscribers {
}
private function checkCompleted() {
if(!ScheduledTaskSubscriber::getToProcessCount($this->task->id)) {
if(!ScheduledTaskSubscriber::getUnprocessedCount($this->task->id)) {
$this->task->processed_at = current_time('mysql');
return $this->task->complete();
}

View File

@ -54,6 +54,6 @@ class BatchIterator implements \Iterator, \Countable {
private function getSubscribers() {
return ScheduledTaskSubscriber::select('subscriber_id')
->where('task_id', $this->task_id)
->where('processed', ScheduledTaskSubscriber::STATUS_TO_PROCESS);
->where('processed', ScheduledTaskSubscriber::STATUS_UNPROCESSED);
}
}

View File

@ -59,10 +59,10 @@ class BounceTest extends MailPoetTest {
function testItPreparesTask() {
$task = $this->createScheduledTask();
expect(ScheduledTaskSubscriber::getToProcessCount($task->id))->isEmpty();
expect(ScheduledTaskSubscriber::getUnprocessedCount($task->id))->isEmpty();
$this->worker->prepareTask($task);
expect($task->status)->null();
expect(ScheduledTaskSubscriber::getToProcessCount($task->id))->notEmpty();
expect(ScheduledTaskSubscriber::getUnprocessedCount($task->id))->notEmpty();
}
function testItDeletesTaskIfThereAreNoSubscribersToProcessWhenProcessingTask() {
@ -77,7 +77,7 @@ class BounceTest extends MailPoetTest {
function testItProcessesTask() {
$task = $this->createRunningTask();
$this->worker->prepareTask($task);
expect(ScheduledTaskSubscriber::getToProcessCount($task->id))->notEmpty();
expect(ScheduledTaskSubscriber::getUnprocessedCount($task->id))->notEmpty();
$this->worker->processTask($task);
expect(ScheduledTaskSubscriber::getProcessedCount($task->id))->notEmpty();
}

View File

@ -16,7 +16,7 @@ class ScheduledTaskSubscriberTest extends \MailPoetTest {
function testItCanBeCreated() {
expect($this->task_subscriber->task_id)->equals($this->task_id);
expect($this->task_subscriber->subscriber_id)->equals($this->subscriber_id);
expect($this->task_subscriber->processed)->equals(ScheduledTaskSubscriber::STATUS_TO_PROCESS);
expect($this->task_subscriber->processed)->equals(ScheduledTaskSubscriber::STATUS_UNPROCESSED);
}
function testItCanBeUpdated() {
@ -41,12 +41,12 @@ class ScheduledTaskSubscriberTest extends \MailPoetTest {
expect($task_subscribers[2]->subscriber_id)->equals($subscriber_ids[2]);
}
function testItCanGetToProcessCount() {
$count = ScheduledTaskSubscriber::getToProcessCount($this->task_id);
function testItCangetUnprocessedCount() {
$count = ScheduledTaskSubscriber::getUnprocessedCount($this->task_id);
expect($count)->equals(1);
$this->task_subscriber->processed = ScheduledTaskSubscriber::STATUS_PROCESSED;
$this->task_subscriber->save();
$count = ScheduledTaskSubscriber::getToProcessCount($this->task_id);
$count = ScheduledTaskSubscriber::getUnprocessedCount($this->task_id);
expect($count)->equals(0);
}