diff --git a/lib/Queue/Daemon.php b/lib/Queue/Daemon.php index 185a36594c..a5d7143ecb 100644 --- a/lib/Queue/Daemon.php +++ b/lib/Queue/Daemon.php @@ -35,8 +35,8 @@ class Daemon { $queueData = array( 'status' => 'started', 'token' => $this->refreshedToken, - 'executionCounter' => ($queueData['status'] === 'paused') ? - $queueData['executionCounter'] + 'counter' => ($queueData['status'] === 'paused') ? + $queueData['counter'] : 0 ); $_SESSION['queue'] = array('result' => true); @@ -69,9 +69,9 @@ class Daemon { */ sleep(30); - // after each execution, read queue in case its status was modified + // after each execution, read queue in case it's status was modified list($queue, $queueData) = $this->getQueue(); - $queueData['executionCounter']++; + $queueData['counter']++; $queueData['token'] = $this->refreshedToken; $queue->value = serialize($queueData); $queue->save(); @@ -108,14 +108,9 @@ class Daemon { function callSelf() { $payload = json_encode(array('token' => $this->refreshedToken)); - $args = array( - 'timeout' => 1, - 'user-agent' => 'MailPoet (www.mailpoet.com)' - ); - wp_remote_get( - Supervisor::getSiteUrl() . - '/?mailpoet-api§ion=queue&action=run&payload=' . urlencode($payload), - $args + Supervisor::getRemoteUrl( + '/?mailpoet-api§ion=queue&action=run&payload=' . urlencode($payload) + ); exit; } diff --git a/lib/Queue/Supervisor.php b/lib/Queue/Supervisor.php index fb7ba8ef07..d663f03fe7 100644 --- a/lib/Queue/Supervisor.php +++ b/lib/Queue/Supervisor.php @@ -44,20 +44,10 @@ class Supervisor { if(!session_id()) session_start(); $sessionId = session_id(); session_write_close(); - $args = array( - 'timeout' => 1, - 'user-agent' => 'MailPoet (www.mailpoet.com)' - ); - $payload = json_encode( - array( - 'session' => $sessionId - ) - ); - wp_remote_get( - self::getSiteUrl() . - '/?mailpoet-api§ion=queue&action=start&payload=' . - urlencode($payload), - $args + $_SESSION['queue'] = null; + $payload = json_encode(array('session' => $sessionId)); + self::getRemoteUrl( + '/?mailpoet-api§ion=queue&action=start&payload=' . urlencode($payload) ); session_start(); $queueStatus = $_SESSION['queue']; @@ -76,6 +66,17 @@ class Supervisor { ); } + static function getRemoteUrl($url) { + $args = array( + 'timeout' => 1, + 'user-agent' => 'MailPoet (www.mailpoet.com)' + ); + wp_remote_get( + self::getSiteUrl() . $url, + $args + ); + } + static function getSiteUrl() { if(preg_match('!:\d+/!', site_url())) return site_url(); preg_match('!http://(?P.*?):(?P\d+)!', site_url(), $server);