From cf461e23b6123ba6ed084d2fb8e8306482973b88 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Thu, 16 Mar 2017 09:12:50 -0500 Subject: [PATCH] code formatting --- src/Illuminate/Events/Dispatcher.php | 48 +++++++++++++++++++++------- 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/src/Illuminate/Events/Dispatcher.php b/src/Illuminate/Events/Dispatcher.php index 5185e33a33b8..71808f50cfc7 100755 --- a/src/Illuminate/Events/Dispatcher.php +++ b/src/Illuminate/Events/Dispatcher.php @@ -450,25 +450,49 @@ protected function callQueueMethodOnHandler($class, $method, $arguments) */ protected function queueHandler($class, $method, $arguments) { - $listener = (new ReflectionClass($class))->newInstanceWithoutConstructor(); - - $job = new CallQueuedListener($class, $method, $arguments); + list($listener, $job) = $this->createListenerAndJob($class, $method, $arguments); - $connection = isset($listener->connection) ? $listener->connection : null; + $connection = $this->resolveQueue()->connection( + isset($listener->connection) ? $listener->connection : null + ); $queue = isset($listener->queue) ? $listener->queue : null; - $job->tries = isset($listener->tries) ? $listener->tries : null; + isset($listener->delay) + ? $connection->laterOn($queue, $listener->delay, $job) + : $connection->pushOn($queue, $job); + } - $job->timeout = isset($listener->timeout) ? $listener->timeout : null; + /** + * Create the listener and job for a queued listener. + * + * @param string $class + * @param string $method + * @param array $arguments + * @return array + */ + protected function createListenerAndJob($class, $method, $arguments) + { + $listener = (new ReflectionClass($class))->newInstanceWithoutConstructor(); - $resolvedQueue = $this->resolveQueue()->connection($connection); + return [$listener, $this->propogateListenerOptions( + $listener, new CallQueuedListener($class, $method, $arguments) + )]; + } - if (isset($listener->delay)) { - $resolvedQueue->laterOn($queue, $listener->delay, $job); - } else { - $resolvedQueue->pushOn($queue, $job); - } + /** + * Propogate listener options to the job. + * + * @param mixed $listener + * @param mixed $job + * @return mixed + */ + protected function propogateListenerOptions($listener, $job) + { + return tap($job, function ($job) use ($listener) { + $job->tries = isset($listener->tries) ? $listener->tries : null; + $job->timeout = isset($listener->timeout) ? $listener->timeout : null; + }); } /**