Этот модуль расширяет стандартную реализацию работы с очередями SQS и сделан специально для работы с реализацией SQS от команды Яндекс.Облако.
Главный недостаток реализации SQS со стороны Яндекс.Облако - непереносимость между средами, названия очередей содержат их идентификатор, например, вместо стандартного названия очереди default
в Яндекс.Облаке такая очередь будет называться dj6000000002a9pq22in/default
You can install the package via composer:
composer require chelout/laravel-yandex-message-queue
В файле config/queue.php
необходимо описать соединение, которое будет использоваться:
<?php
return [
// ...
'connections' => [
// ...
'ymq' => [
'driver' => 'ymq',
'key' => env('YANDEX_MESSAGE_QUEUE_KEY'),
'secret' => env('YANDEX_MESSAGE_QUEUE_SECRET'),
'prefix' => env('YANDEX_MESSAGE_QUEUE_PREFIX', 'https://message-queue.api.cloud.yandex.net/your-account-id'),
'queue' => env('YANDEX_MESSAGE_QUEUE_QUEUE', 'default'),
'suffix' => env('YANDEX_MESSAGE_QUEUE_SUFFIX'),
'region' => env('YANDEX_MESSAGE_QUEUE_REGION', 'ru-central1'),
'queue_map' => [
'default' => env('YANDEX_MESSAGE_QUEUE_DEFAULT'),
],
],
],
// ...
];
В queue_map
описывается массив соответствия алиасов названий очередей и их реальных названий.
TestJob::dispatch(['foo' => 'bar'])
->onConnection('ymq')
->onQueue('default');
- tests
The MIT License (MIT). Please see License File for more information.