0 follower

Final Class Yiisoft\Queue\Amqp\Middleware\DelayMiddleware

InheritanceYiisoft\Queue\Amqp\Middleware\DelayMiddleware
ImplementsYiisoft\Queue\Middleware\Push\PushMiddlewareInterface

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( float $delayInSeconds )
$delayInSeconds float

                public function __construct(private float $delayInSeconds)
{
}

            
getDelay() public method

public float getDelay ( )

                public function getDelay(): float
{
    return $this->delayInSeconds;
}

            
processPush() public method

public \Yiisoft\Queue\Message\MessageInterface processPush ( \Yiisoft\Queue\Message\MessageInterface $message, \Yiisoft\Queue\Middleware\Push\PushHandlerInterface $handler )
$message \Yiisoft\Queue\Message\MessageInterface
$handler \Yiisoft\Queue\Middleware\Push\PushHandlerInterface

                public function processPush(MessageInterface $message, PushHandlerInterface $handler): MessageInterface
{
    if ($this->delayInSeconds <= 0) {
        return $handler->handlePush($message);
    }
    return $handler->handlePush(new DelayEnvelope($message, $this->delayInSeconds));
}

            
withDelay() public method

public $this withDelay ( float $seconds )
$seconds float

                public function withDelay(float $seconds): self
{
    $new = clone $this;
    $new->delayInSeconds = $seconds;
    return $new;
}