- Fixes "class not found" error in Daemon

- Moves ignore_user_abort() to the run() method
- Updates unit tests
This commit is contained in:
Vlad
2016-09-09 11:09:45 -04:00
parent 3508ac36b4
commit c5b8b2aef0
2 changed files with 5 additions and 2 deletions

View File

@@ -2,6 +2,7 @@
namespace MailPoet\Cron; namespace MailPoet\Cron;
use MailPoet\Cron\Workers\Scheduler as SchedulerWorker; use MailPoet\Cron\Workers\Scheduler as SchedulerWorker;
use MailPoet\Cron\Workers\SendingQueue\SendingQueue as SendingQueueWorker;
require_once(ABSPATH . 'wp-includes/pluggable.php'); require_once(ABSPATH . 'wp-includes/pluggable.php');
@@ -14,7 +15,6 @@ class Daemon {
const REQUEST_TIMEOUT = 5; const REQUEST_TIMEOUT = 5;
function __construct($request_data = false) { function __construct($request_data = false) {
ignore_user_abort(true);
$this->request_data = $request_data; $this->request_data = $request_data;
$this->daemon = CronHelper::getDaemon(); $this->daemon = CronHelper::getDaemon();
$this->token = CronHelper::createToken(); $this->token = CronHelper::createToken();
@@ -22,6 +22,7 @@ class Daemon {
} }
function run() { function run() {
ignore_user_abort(true);
if(!$this->request_data) { if(!$this->request_data) {
$error = __('Invalid or missing request data.'); $error = __('Invalid or missing request data.');
} else { } else {

View File

@@ -19,7 +19,6 @@ class DaemonTest extends MailPoetTest {
$daemon = new Daemon($request_data = 'request data'); $daemon = new Daemon($request_data = 'request data');
expect($daemon->daemon)->equals('daemon object'); expect($daemon->daemon)->equals('daemon object');
expect($daemon->request_data)->equals('request data'); expect($daemon->request_data)->equals('request data');
expect(ignore_user_abort())->equals(1);
expect(strlen($daemon->timer))->greaterOrEquals(5); expect(strlen($daemon->timer))->greaterOrEquals(5);
expect(strlen($daemon->token))->greaterOrEquals(5); expect(strlen($daemon->token))->greaterOrEquals(5);
} }
@@ -177,6 +176,8 @@ class DaemonTest extends MailPoetTest {
} }
function testItCanRun() { function testItCanRun() {
ignore_user_abort(0);
expect(ignore_user_abort())->equals(0);
$daemon = Stub::make(new Daemon(true), array( $daemon = Stub::make(new Daemon(true), array(
'pauseExecution' => function() { }, 'pauseExecution' => function() { },
// workers should be executed // workers should be executed
@@ -191,6 +192,7 @@ class DaemonTest extends MailPoetTest {
Setting::setValue(CronHelper::DAEMON_SETTING, $data); Setting::setValue(CronHelper::DAEMON_SETTING, $data);
$daemon->__construct($data); $daemon->__construct($data);
$daemon->run(); $daemon->run();
expect(ignore_user_abort())->equals(1);
} }
function _after() { function _after() {