From 84fa56cdf5ec71aa68e6733065451b138be97713 Mon Sep 17 00:00:00 2001 From: Mohamed Said Date: Tue, 1 Dec 2020 15:44:48 +0200 Subject: [PATCH] refactor enqueueUsing calls --- src/Illuminate/Queue/BeanstalkdQueue.php | 36 +++++++++++++++--------- src/Illuminate/Queue/DatabaseQueue.php | 28 +++++++++++------- src/Illuminate/Queue/Queue.php | 9 ++++-- src/Illuminate/Queue/RedisQueue.php | 24 ++++++++++++---- src/Illuminate/Queue/SqsQueue.php | 32 ++++++++++++++------- 5 files changed, 87 insertions(+), 42 deletions(-) diff --git a/src/Illuminate/Queue/BeanstalkdQueue.php b/src/Illuminate/Queue/BeanstalkdQueue.php index 6490834724cd..0c99c7e5e3ec 100755 --- a/src/Illuminate/Queue/BeanstalkdQueue.php +++ b/src/Illuminate/Queue/BeanstalkdQueue.php @@ -77,9 +77,15 @@ public function size($queue = null) */ public function push($job, $data = '', $queue = null) { - return $this->enqueueUsing($job, function () use ($job, $data, $queue) { - return $this->pushRaw($this->createPayload($job, $this->getQueue($queue), $data), $queue); - }); + return $this->enqueueUsing( + $job, + $this->createPayload($job, $this->getQueue($queue), $data), + $queue, + null, + function ($payload, $queue) { + return $this->pushRaw($payload, $queue); + } + ); } /** @@ -108,16 +114,20 @@ public function pushRaw($payload, $queue = null, array $options = []) */ public function later($delay, $job, $data = '', $queue = null) { - $pheanstalk = $this->pheanstalk->useTube($this->getQueue($queue)); - - return $this->enqueueUsing($job, function () use ($delay, $pheanstalk, $job, $data, $queue) { - return $pheanstalk->put( - $this->createPayload($job, $this->getQueue($queue), $data), - Pheanstalk::DEFAULT_PRIORITY, - $this->secondsUntil($delay), - $this->timeToRun - ); - }); + return $this->enqueueUsing( + $job, + $this->createPayload($job, $this->getQueue($queue), $data), + $queue, + $delay, + function ($payload, $queue, $delay) { + return $this->pheanstalk->useTube($this->getQueue($queue))->put( + $payload, + Pheanstalk::DEFAULT_PRIORITY, + $this->secondsUntil($delay), + $this->timeToRun + ); + } + ); } /** diff --git a/src/Illuminate/Queue/DatabaseQueue.php b/src/Illuminate/Queue/DatabaseQueue.php index b3d40a44b073..2d6520fcae33 100644 --- a/src/Illuminate/Queue/DatabaseQueue.php +++ b/src/Illuminate/Queue/DatabaseQueue.php @@ -80,11 +80,15 @@ public function size($queue = null) */ public function push($job, $data = '', $queue = null) { - return $this->enqueueUsing($job, function () use ($job, $data, $queue) { - return $this->pushToDatabase($queue, $this->createPayload( - $job, $this->getQueue($queue), $data - )); - }); + return $this->enqueueUsing( + $job, + $this->createPayload($job, $this->getQueue($queue), $data), + $queue, + null, + function ($payload, $queue) { + return $this->pushToDatabase($queue, $payload); + } + ); } /** @@ -111,11 +115,15 @@ public function pushRaw($payload, $queue = null, array $options = []) */ public function later($delay, $job, $data = '', $queue = null) { - return $this->enqueueUsing($job, function () use ($delay, $job, $data, $queue) { - return $this->pushToDatabase($queue, $this->createPayload( - $job, $this->getQueue($queue), $data - ), $delay); - }); + return $this->enqueueUsing( + $job, + $this->createPayload($job, $this->getQueue($queue), $data), + $queue, + null, + function ($payload, $queue, $delay) { + return $this->pushToDatabase($queue, $payload, $delay); + } + ); } /** diff --git a/src/Illuminate/Queue/Queue.php b/src/Illuminate/Queue/Queue.php index a3ed696b9817..40023ae34e3d 100755 --- a/src/Illuminate/Queue/Queue.php +++ b/src/Illuminate/Queue/Queue.php @@ -259,13 +259,16 @@ protected function withCreatePayloadHooks($queue, array $payload) /** * Enqueue a job using the given callback. * - * @param callable $callback * @param \Closure|string|object $job + * @param string $payload + * @param string $queue + * @param \DateTimeInterface|\DateInterval|int|null $delay + * @param callable $callback * @return mixed */ - protected function enqueueUsing($job, $callback) + protected function enqueueUsing($job, $payload, $queue, $delay, $callback) { - return $callback(); + return $callback($payload, $queue, $delay); } /** diff --git a/src/Illuminate/Queue/RedisQueue.php b/src/Illuminate/Queue/RedisQueue.php index b0592188e348..080aeb315581 100644 --- a/src/Illuminate/Queue/RedisQueue.php +++ b/src/Illuminate/Queue/RedisQueue.php @@ -108,9 +108,15 @@ public function bulk($jobs, $data = '', $queue = null) */ public function push($job, $data = '', $queue = null) { - return $this->enqueueUsing($job, function () use ($job, $data, $queue) { - return $this->pushRaw($this->createPayload($job, $this->getQueue($queue), $data), $queue); - }); + return $this->enqueueUsing( + $job, + $this->createPayload($job, $this->getQueue($queue), $data), + $queue, + null, + function ($payload, $queue) { + return $this->pushRaw($payload, $queue); + } + ); } /** @@ -142,9 +148,15 @@ public function pushRaw($payload, $queue = null, array $options = []) */ public function later($delay, $job, $data = '', $queue = null) { - return $this->enqueueUsing($job, function () use ($delay, $job, $data, $queue) { - return $this->laterRaw($delay, $this->createPayload($job, $this->getQueue($queue), $data), $queue); - }); + return $this->enqueueUsing( + $job, + $this->createPayload($job, $this->getQueue($queue), $data), + $queue, + $delay, + function ($payload, $queue, $delay) { + return $this->laterRaw($delay, $payload, $queue); + } + ); } /** diff --git a/src/Illuminate/Queue/SqsQueue.php b/src/Illuminate/Queue/SqsQueue.php index 9e6b2339ae8e..281cb862f61f 100755 --- a/src/Illuminate/Queue/SqsQueue.php +++ b/src/Illuminate/Queue/SqsQueue.php @@ -83,9 +83,15 @@ public function size($queue = null) */ public function push($job, $data = '', $queue = null) { - return $this->enqueueUsing($job, function () use ($job, $data, $queue) { - return $this->pushRaw($this->createPayload($job, $queue ?: $this->default, $data), $queue); - }); + return $this->enqueueUsing( + $job, + $this->createPayload($job, $queue ?: $this->default, $data), + $queue, + null, + function ($payload, $queue) { + return $this->pushRaw($payload, $queue); + } + ); } /** @@ -114,13 +120,19 @@ public function pushRaw($payload, $queue = null, array $options = []) */ public function later($delay, $job, $data = '', $queue = null) { - return $this->enqueueUsing($job, function () use ($delay, $job, $data, $queue) { - return $this->sqs->sendMessage([ - 'QueueUrl' => $this->getQueue($queue), - 'MessageBody' => $this->createPayload($job, $queue ?: $this->default, $data), - 'DelaySeconds' => $this->secondsUntil($delay), - ])->get('MessageId'); - }); + return $this->enqueueUsing( + $job, + $this->createPayload($job, $queue ?: $this->default, $data), + $queue, + $delay, + function ($payload, $queue, $delay) { + return $this->sqs->sendMessage([ + 'QueueUrl' => $this->getQueue($queue), + 'MessageBody' => $payload, + 'DelaySeconds' => $this->secondsUntil($delay), + ])->get('MessageId'); + } + ); } /**