dep: package update
This commit is contained in:
Vendored
+2
-5
@@ -7,7 +7,6 @@ use Closure;
|
||||
use Illuminate\Contracts\Queue\Factory as QueueFactory;
|
||||
use Illuminate\Contracts\Support\Arrayable;
|
||||
use Illuminate\Queue\CallQueuedClosure;
|
||||
use Illuminate\Queue\SerializableClosure;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Collection;
|
||||
use JsonSerializable;
|
||||
@@ -420,7 +419,7 @@ class Batch implements Arrayable, JsonSerializable
|
||||
/**
|
||||
* Invoke a batch callback handler.
|
||||
*
|
||||
* @param \Illuminate\Queue\SerializableClosure|callable $handler
|
||||
* @param callable $handler
|
||||
* @param \Illuminate\Bus\Batch $batch
|
||||
* @param \Throwable|null $e
|
||||
* @return void
|
||||
@@ -428,9 +427,7 @@ class Batch implements Arrayable, JsonSerializable
|
||||
protected function invokeHandlerCallback($handler, Batch $batch, Throwable $e = null)
|
||||
{
|
||||
try {
|
||||
return $handler instanceof SerializableClosure
|
||||
? $handler->__invoke($batch, $e)
|
||||
: call_user_func($handler, $batch, $e);
|
||||
return $handler($batch, $e);
|
||||
} catch (Throwable $e) {
|
||||
if (function_exists('report')) {
|
||||
report($e);
|
||||
|
||||
+4
-4
@@ -6,7 +6,7 @@ use Closure;
|
||||
use Illuminate\Bus\Events\BatchDispatched;
|
||||
use Illuminate\Contracts\Container\Container;
|
||||
use Illuminate\Contracts\Events\Dispatcher as EventDispatcher;
|
||||
use Illuminate\Queue\SerializableClosure;
|
||||
use Illuminate\Queue\SerializableClosureFactory;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Collection;
|
||||
use Throwable;
|
||||
@@ -78,7 +78,7 @@ class PendingBatch
|
||||
public function then($callback)
|
||||
{
|
||||
$this->options['then'][] = $callback instanceof Closure
|
||||
? new SerializableClosure($callback)
|
||||
? SerializableClosureFactory::make($callback)
|
||||
: $callback;
|
||||
|
||||
return $this;
|
||||
@@ -103,7 +103,7 @@ class PendingBatch
|
||||
public function catch($callback)
|
||||
{
|
||||
$this->options['catch'][] = $callback instanceof Closure
|
||||
? new SerializableClosure($callback)
|
||||
? SerializableClosureFactory::make($callback)
|
||||
: $callback;
|
||||
|
||||
return $this;
|
||||
@@ -128,7 +128,7 @@ class PendingBatch
|
||||
public function finally($callback)
|
||||
{
|
||||
$this->options['finally'][] = $callback instanceof Closure
|
||||
? new SerializableClosure($callback)
|
||||
? SerializableClosureFactory::make($callback)
|
||||
: $callback;
|
||||
|
||||
return $this;
|
||||
|
||||
Vendored
+1
-2
@@ -4,7 +4,6 @@ namespace Illuminate\Bus;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Queue\CallQueuedClosure;
|
||||
use Illuminate\Queue\SerializableClosure;
|
||||
use Illuminate\Support\Arr;
|
||||
use RuntimeException;
|
||||
|
||||
@@ -245,7 +244,7 @@ trait Queueable
|
||||
public function invokeChainCatchCallbacks($e)
|
||||
{
|
||||
collect($this->chainCatchCallbacks)->each(function ($callback) use ($e) {
|
||||
$callback instanceof SerializableClosure ? $callback->__invoke($e) : call_user_func($callback, $e);
|
||||
$callback($e);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+48
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Bus;
|
||||
|
||||
use Illuminate\Contracts\Cache\Repository as Cache;
|
||||
|
||||
class UniqueLock
|
||||
{
|
||||
/**
|
||||
* The cache repository implementation.
|
||||
*
|
||||
* @var \Illuminate\Contracts\Cache\Repository
|
||||
*/
|
||||
protected $cache;
|
||||
|
||||
/**
|
||||
* Create a new unique lock manager instance.
|
||||
*
|
||||
* @param \Illuminate\Contracts\Cache\Repository $cache
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Cache $cache)
|
||||
{
|
||||
$this->cache = $cache;
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempt to acquire a lock for the given job.
|
||||
*
|
||||
* @param mixed $job
|
||||
* @return bool
|
||||
*/
|
||||
public function acquire($job)
|
||||
{
|
||||
$uniqueId = method_exists($job, 'uniqueId')
|
||||
? $job->uniqueId()
|
||||
: ($job->uniqueId ?? '');
|
||||
|
||||
$cache = method_exists($job, 'uniqueVia')
|
||||
? $job->uniqueVia()
|
||||
: $this->cache;
|
||||
|
||||
return (bool) $cache->lock(
|
||||
$key = 'laravel_unique_job:'.get_class($job).$uniqueId,
|
||||
$job->uniqueFor ?? 0
|
||||
)->get();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user