Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Queue/Middleware/Release.php
Строк: 61
<?php

namespace IlluminateQueueMiddleware;

use 
Closure;

class 
Release
{
    
/**
     * @param  bool  $release  Whether the job should be released back onto the queue.
     * @param  int  $releaseAfter  The number of seconds before the job is available again.
     */
    
public function __construct(
        protected 
bool $release false,
        protected 
int $releaseAfter 0,
    ) {
    }

    
/**
     * Release the job back onto the queue if the given condition is truthy.
     *
     * @param  bool|(Closure(): bool)  $condition
     * @param  int  $releaseAfter  The number of seconds before the job is available again.
     */
    
public static function when(Closure|bool $conditionint $releaseAfter 0): static
    {
        return new static(
value($condition), $releaseAfter);
    }

    
/**
     * Release the job back onto the queue unless the given condition is truthy.
     *
     * @param  bool|(Closure(): bool)  $condition
     * @param  int  $releaseAfter  The number of seconds before the job is available again.
     */
    
public static function unless(Closure|bool $conditionint $releaseAfter 0): static
    {
        return new static(! 
value($condition), $releaseAfter);
    }

    
/**
     * Handle the job.
     */
    
public function handle(mixed $job, callable $next): mixed
    
{
        if (
$this->release) {
            return 
$job->release($this->releaseAfter);
        }

        return 
$next($job);
    }
}
Онлайн: 2
Реклама