REDROOM
PHP 8.3.31
Path:
Logout
Edit File
Size: 3.45 KB
Close
/home/getspomw/royalsquad.us/vendor/laravel/framework/src/Illuminate/Queue/Middleware/WithoutOverlapping.php
Text
Base64
<?php namespace Illuminate\Queue\Middleware; use Illuminate\Container\Container; use Illuminate\Contracts\Cache\Repository as Cache; use Illuminate\Support\InteractsWithTime; class WithoutOverlapping { use InteractsWithTime; /** * The job's unique key used for preventing overlaps. * * @var string */ public $key; /** * The number of seconds before a job should be available again if no lock was acquired. * * @var \DateTimeInterface|int|null */ public $releaseAfter; /** * The number of seconds before the lock should expire. * * @var int */ public $expiresAfter; /** * The prefix of the lock key. * * @var string */ public $prefix = 'laravel-queue-overlap:'; /** * Share the key across different jobs. * * @var bool */ public $shareKey = false; /** * Create a new middleware instance. * * @param string $key * @param \DateTimeInterface|int|null $releaseAfter * @param \DateTimeInterface|int $expiresAfter * @return void */ public function __construct($key = '', $releaseAfter = 0, $expiresAfter = 0) { $this->key = $key; $this->releaseAfter = $releaseAfter; $this->expiresAfter = $this->secondsUntil($expiresAfter); } /** * Process the job. * * @param mixed $job * @param callable $next * @return mixed */ public function handle($job, $next) { $lock = Container::getInstance()->make(Cache::class)->lock( $this->getLockKey($job), $this->expiresAfter ); if ($lock->get()) { try { $next($job); } finally { $lock->release(); } } elseif (! is_null($this->releaseAfter)) { $job->release($this->releaseAfter); } } /** * Set the delay (in seconds) to release the job back to the queue. * * @param \DateTimeInterface|int $releaseAfter * @return $this */ public function releaseAfter($releaseAfter) { $this->releaseAfter = $releaseAfter; return $this; } /** * Do not release the job back to the queue if no lock can be acquired. * * @return $this */ public function dontRelease() { $this->releaseAfter = null; return $this; } /** * Set the maximum number of seconds that can elapse before the lock is released. * * @param \DateTimeInterface|\DateInterval|int $expiresAfter * @return $this */ public function expireAfter($expiresAfter) { $this->expiresAfter = $this->secondsUntil($expiresAfter); return $this; } /** * Set the prefix of the lock key. * * @param string $prefix * @return $this */ public function withPrefix(string $prefix) { $this->prefix = $prefix; return $this; } /** * Indicate that the lock key should be shared across job classes. * * @return $this */ public function shared() { $this->shareKey = true; return $this; } /** * Get the lock key for the given job. * * @param mixed $job * @return string */ public function getLockKey($job) { return $this->shareKey ? $this->prefix.$this->key : $this->prefix.get_class($job).':'.$this->key; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 7
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
RateLimited.php
3.33 KB
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
RateLimitedWithRedis.php
2.45 KB
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Skip.php
870 B
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SkipIfBatchCancelled.php
383 B
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ThrottlesExceptions.php
4.91 KB
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ThrottlesExceptionsWithRedis.php
1.62 KB
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
WithoutOverlapping.php
3.45 KB
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).