From dcf908ed92b540d803799a39cc4f242f30170549 Mon Sep 17 00:00:00 2001 From: Sjors Ottjes Date: Fri, 24 Mar 2023 08:26:05 +0100 Subject: [PATCH] fix job delay Revert "fix job delay" This reverts commit 487cfe853c4cb76ee4a9a207057e76b38c65e177. fix job delay not working on Queue::push() --- src/Illuminate/Queue/BeanstalkdQueue.php | 6 +++++- src/Illuminate/Queue/DatabaseQueue.php | 8 ++++++-- src/Illuminate/Queue/RedisQueue.php | 4 ++++ src/Illuminate/Queue/SqsQueue.php | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/Illuminate/Queue/BeanstalkdQueue.php b/src/Illuminate/Queue/BeanstalkdQueue.php index 3f1e0a5d6a96..657a1bfe9dac 100755 --- a/src/Illuminate/Queue/BeanstalkdQueue.php +++ b/src/Illuminate/Queue/BeanstalkdQueue.php @@ -76,13 +76,17 @@ public function size($queue = null) /** * Push a new job onto the queue. * - * @param string $job + * @param object|string $job * @param mixed $data * @param string|null $queue * @return mixed */ public function push($job, $data = '', $queue = null) { + if ($job->delay ?? null) { + return $this->later($job->delay, $job, $data, $queue); + } + return $this->enqueueUsing( $job, $this->createPayload($job, $this->getQueue($queue), $data), diff --git a/src/Illuminate/Queue/DatabaseQueue.php b/src/Illuminate/Queue/DatabaseQueue.php index bce025c53340..cf47a9220ba6 100644 --- a/src/Illuminate/Queue/DatabaseQueue.php +++ b/src/Illuminate/Queue/DatabaseQueue.php @@ -80,13 +80,17 @@ public function size($queue = null) /** * Push a new job onto the queue. * - * @param string $job + * @param object|string $job * @param mixed $data * @param string|null $queue * @return mixed */ public function push($job, $data = '', $queue = null) { + if ($job->delay ?? null) { + return $this->later($job->delay, $job, $data, $queue); + } + return $this->enqueueUsing( $job, $this->createPayload($job, $this->getQueue($queue), $data), @@ -118,7 +122,7 @@ public function pushRaw($payload, $queue = null, array $options = []) * @param string $job * @param mixed $data * @param string|null $queue - * @return void + * @return mixed */ public function later($delay, $job, $data = '', $queue = null) { diff --git a/src/Illuminate/Queue/RedisQueue.php b/src/Illuminate/Queue/RedisQueue.php index 4c376a81a2c0..13972b0bf48b 100644 --- a/src/Illuminate/Queue/RedisQueue.php +++ b/src/Illuminate/Queue/RedisQueue.php @@ -131,6 +131,10 @@ public function bulk($jobs, $data = '', $queue = null) */ public function push($job, $data = '', $queue = null) { + if ($job->delay ?? null) { + return $this->later($job->delay, $job, $data, $queue); + } + return $this->enqueueUsing( $job, $this->createPayload($job, $this->getQueue($queue), $data), diff --git a/src/Illuminate/Queue/SqsQueue.php b/src/Illuminate/Queue/SqsQueue.php index d4ca1d993946..275e465fe848 100755 --- a/src/Illuminate/Queue/SqsQueue.php +++ b/src/Illuminate/Queue/SqsQueue.php @@ -82,13 +82,17 @@ public function size($queue = null) /** * Push a new job onto the queue. * - * @param string $job + * @param object|string $job * @param mixed $data * @param string|null $queue * @return mixed */ public function push($job, $data = '', $queue = null) { + if ($job->delay ?? null) { + return $this->later($job->delay, $job, $data, $queue); + } + return $this->enqueueUsing( $job, $this->createPayload($job, $queue ?: $this->default, $data),