Skip to content

Commit c6ececf

Browse files
authored
refactor enqueueUsing calls (#35437)
1 parent 58aeab2 commit c6ececf

File tree

5 files changed

+87
-42
lines changed

5 files changed

+87
-42
lines changed

src/Illuminate/Queue/BeanstalkdQueue.php

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,15 @@ public function size($queue = null)
7777
*/
7878
public function push($job, $data = '', $queue = null)
7979
{
80-
return $this->enqueueUsing($job, function () use ($job, $data, $queue) {
81-
return $this->pushRaw($this->createPayload($job, $this->getQueue($queue), $data), $queue);
82-
});
80+
return $this->enqueueUsing(
81+
$job,
82+
$this->createPayload($job, $this->getQueue($queue), $data),
83+
$queue,
84+
null,
85+
function ($payload, $queue) {
86+
return $this->pushRaw($payload, $queue);
87+
}
88+
);
8389
}
8490

8591
/**
@@ -108,16 +114,20 @@ public function pushRaw($payload, $queue = null, array $options = [])
108114
*/
109115
public function later($delay, $job, $data = '', $queue = null)
110116
{
111-
$pheanstalk = $this->pheanstalk->useTube($this->getQueue($queue));
112-
113-
return $this->enqueueUsing($job, function () use ($delay, $pheanstalk, $job, $data, $queue) {
114-
return $pheanstalk->put(
115-
$this->createPayload($job, $this->getQueue($queue), $data),
116-
Pheanstalk::DEFAULT_PRIORITY,
117-
$this->secondsUntil($delay),
118-
$this->timeToRun
119-
);
120-
});
117+
return $this->enqueueUsing(
118+
$job,
119+
$this->createPayload($job, $this->getQueue($queue), $data),
120+
$queue,
121+
$delay,
122+
function ($payload, $queue, $delay) {
123+
return $this->pheanstalk->useTube($this->getQueue($queue))->put(
124+
$payload,
125+
Pheanstalk::DEFAULT_PRIORITY,
126+
$this->secondsUntil($delay),
127+
$this->timeToRun
128+
);
129+
}
130+
);
121131
}
122132

123133
/**

src/Illuminate/Queue/DatabaseQueue.php

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,15 @@ public function size($queue = null)
8080
*/
8181
public function push($job, $data = '', $queue = null)
8282
{
83-
return $this->enqueueUsing($job, function () use ($job, $data, $queue) {
84-
return $this->pushToDatabase($queue, $this->createPayload(
85-
$job, $this->getQueue($queue), $data
86-
));
87-
});
83+
return $this->enqueueUsing(
84+
$job,
85+
$this->createPayload($job, $this->getQueue($queue), $data),
86+
$queue,
87+
null,
88+
function ($payload, $queue) {
89+
return $this->pushToDatabase($queue, $payload);
90+
}
91+
);
8892
}
8993

9094
/**
@@ -111,11 +115,15 @@ public function pushRaw($payload, $queue = null, array $options = [])
111115
*/
112116
public function later($delay, $job, $data = '', $queue = null)
113117
{
114-
return $this->enqueueUsing($job, function () use ($delay, $job, $data, $queue) {
115-
return $this->pushToDatabase($queue, $this->createPayload(
116-
$job, $this->getQueue($queue), $data
117-
), $delay);
118-
});
118+
return $this->enqueueUsing(
119+
$job,
120+
$this->createPayload($job, $this->getQueue($queue), $data),
121+
$queue,
122+
null,
123+
function ($payload, $queue, $delay) {
124+
return $this->pushToDatabase($queue, $payload, $delay);
125+
}
126+
);
119127
}
120128

121129
/**

src/Illuminate/Queue/Queue.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -259,13 +259,16 @@ protected function withCreatePayloadHooks($queue, array $payload)
259259
/**
260260
* Enqueue a job using the given callback.
261261
*
262-
* @param callable $callback
263262
* @param \Closure|string|object $job
263+
* @param string $payload
264+
* @param string $queue
265+
* @param \DateTimeInterface|\DateInterval|int|null $delay
266+
* @param callable $callback
264267
* @return mixed
265268
*/
266-
protected function enqueueUsing($job, $callback)
269+
protected function enqueueUsing($job, $payload, $queue, $delay, $callback)
267270
{
268-
return $callback();
271+
return $callback($payload, $queue, $delay);
269272
}
270273

271274
/**

src/Illuminate/Queue/RedisQueue.php

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,15 @@ public function bulk($jobs, $data = '', $queue = null)
108108
*/
109109
public function push($job, $data = '', $queue = null)
110110
{
111-
return $this->enqueueUsing($job, function () use ($job, $data, $queue) {
112-
return $this->pushRaw($this->createPayload($job, $this->getQueue($queue), $data), $queue);
113-
});
111+
return $this->enqueueUsing(
112+
$job,
113+
$this->createPayload($job, $this->getQueue($queue), $data),
114+
$queue,
115+
null,
116+
function ($payload, $queue) {
117+
return $this->pushRaw($payload, $queue);
118+
}
119+
);
114120
}
115121

116122
/**
@@ -142,9 +148,15 @@ public function pushRaw($payload, $queue = null, array $options = [])
142148
*/
143149
public function later($delay, $job, $data = '', $queue = null)
144150
{
145-
return $this->enqueueUsing($job, function () use ($delay, $job, $data, $queue) {
146-
return $this->laterRaw($delay, $this->createPayload($job, $this->getQueue($queue), $data), $queue);
147-
});
151+
return $this->enqueueUsing(
152+
$job,
153+
$this->createPayload($job, $this->getQueue($queue), $data),
154+
$queue,
155+
$delay,
156+
function ($payload, $queue, $delay) {
157+
return $this->laterRaw($delay, $payload, $queue);
158+
}
159+
);
148160
}
149161

150162
/**

src/Illuminate/Queue/SqsQueue.php

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,15 @@ public function size($queue = null)
8383
*/
8484
public function push($job, $data = '', $queue = null)
8585
{
86-
return $this->enqueueUsing($job, function () use ($job, $data, $queue) {
87-
return $this->pushRaw($this->createPayload($job, $queue ?: $this->default, $data), $queue);
88-
});
86+
return $this->enqueueUsing(
87+
$job,
88+
$this->createPayload($job, $queue ?: $this->default, $data),
89+
$queue,
90+
null,
91+
function ($payload, $queue) {
92+
return $this->pushRaw($payload, $queue);
93+
}
94+
);
8995
}
9096

9197
/**
@@ -114,13 +120,19 @@ public function pushRaw($payload, $queue = null, array $options = [])
114120
*/
115121
public function later($delay, $job, $data = '', $queue = null)
116122
{
117-
return $this->enqueueUsing($job, function () use ($delay, $job, $data, $queue) {
118-
return $this->sqs->sendMessage([
119-
'QueueUrl' => $this->getQueue($queue),
120-
'MessageBody' => $this->createPayload($job, $queue ?: $this->default, $data),
121-
'DelaySeconds' => $this->secondsUntil($delay),
122-
])->get('MessageId');
123-
});
123+
return $this->enqueueUsing(
124+
$job,
125+
$this->createPayload($job, $queue ?: $this->default, $data),
126+
$queue,
127+
$delay,
128+
function ($payload, $queue, $delay) {
129+
return $this->sqs->sendMessage([
130+
'QueueUrl' => $this->getQueue($queue),
131+
'MessageBody' => $payload,
132+
'DelaySeconds' => $this->secondsUntil($delay),
133+
])->get('MessageId');
134+
}
135+
);
124136
}
125137

126138
/**

0 commit comments

Comments
 (0)