Skip to content

Latest commit

 

History

History
37 lines (29 loc) · 1.45 KB

README.md

File metadata and controls

37 lines (29 loc) · 1.45 KB

Yii Queue AMQP Adapter documentation

Message properties

Yiisoft\Queue\Amqp\QueueProvider and Yiisoft\Queue\Amqp\QueueProviderInterface are public APIs that you can use in your application's dependency injection configuration.

To configure default AMQP message properties, override the QueueProviderInterface definition in your application's di configuration:

use PhpAmqpLib\Message\AMQPMessage;
use Yiisoft\Queue\Amqp\QueueProvider;
use Yiisoft\Queue\Amqp\QueueProviderInterface;

return [
    QueueProviderInterface::class => [
        'class' => QueueProvider::class,
        '__construct()' => [
            'messageProperties' => [
                'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT,
            ],
        ],
    ],
];

This example assumes that your AMQP connection and queue settings are already configured. messageProperties is a constructor argument. Its default value is an empty array. The adapter passes these properties to AMQPMessage when publishing a message. For delayed messages, the adapter overrides expiration with the delay in milliseconds and delivery_mode with AMQPMessage::DELIVERY_MODE_PERSISTENT.

When configuring a provider directly, you can pass the messageProperties constructor argument or call withMessageProperties(). The method returns a new provider with the supplied properties replacing the previous array.