- Resolves an issue with cron not starting

This commit is contained in:
Vlad
2016-01-27 14:14:42 -05:00
parent c60425afb2
commit 746c19d6ed
3 changed files with 21 additions and 14 deletions

View File

@ -20,7 +20,7 @@ class PublicAPI {
Helpers::underscoreToCamelCase($_GET['action']) :
false;
$this->request_payload = isset($_GET['request_payload']) ?
json_decode(urldecode($_GET['request_payload']), true) :
unserialize(base64_decode($_GET['request_payload'])) :
false;
}

View File

@ -118,6 +118,9 @@ class Daemon {
}
session_id($this->request_payload['session']);
session_start();
if (!isset($_SESSION['cron_daemon'])) {
throw new \Exception(__('Session cannot be read.'));
}
break;
case 'end':
session_write_close();
@ -126,9 +129,10 @@ class Daemon {
}
function callSelf() {
$payload = json_encode(array('token' => $this->refreshed_token));
$payload = serialize(array('token' => $this->refreshed_token));
Supervisor::accessRemoteUrl(
'/?mailpoet-api&section=queue&action=run&request_payload=' . urlencode($payload)
'/?mailpoet-api&section=queue&action=run&request_payload=' .
base64_encode($payload)
);
exit;
}

View File

@ -51,12 +51,15 @@ class Supervisor {
$sessionId = session_id();
session_write_close();
$_SESSION['cron_daemon'] = null;
$requestPayload = json_encode(array('session' => $sessionId));
$requestPayload = serialize(array('session' => $sessionId));
self::accessRemoteUrl(
'/?mailpoet-api&section=queue&action=start&request_payload=' .
urlencode($requestPayload)
base64_encode($requestPayload)
);
session_start();
if (!isset($_SESSION['cron_daemon'])) {
throw new \Exception(__('Session cannot be read.'));
}
$daemonStatus = $_SESSION['cron_daemon'];
unset($_SESSION['daemon']);
session_write_close();