chelout / laravel-yandex-message-queue
Yandex Message Queue connector
Installs: 3 660
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: ^7.2
- aws/aws-sdk-php: ^3.0
- illuminate/bus: ^6.0|^7.0|^8.0
- illuminate/queue: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^8.3|^9.0|^9.3
This package is auto-updated.
Last update: 2024-10-22 17:21:57 UTC
README
Этот модуль расширяет стандартную реализацию работы с очередями SQS и сделан специально для работы с реализацией SQS от команды Яндекс.Облако.
Главный недостаток реализации SQS со стороны Яндекс.Облако - непереносимость между средами, названия очередей содержат их идентификатор, например, вместо стандартного названия очереди default
в Яндекс.Облаке такая очередь будет называться dj6000000002a9pq22in/default
Installation
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
описывается массив соответствия алиасов названий очередей и их реальных названий.
Usage
TestJob::dispatch(['foo' => 'bar']) ->onConnection('ymq') ->onQueue('default');
TODO
- tests
Credits
License
The MIT License (MIT). Please see License File for more information.