chelout/laravel-yandex-message-queue

v0.0.3 2020-10-22 08:57 UTC

This package is auto-updated.

Last update: 2024-09-22 17:11:47 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

此模块扩展了标准队列 SQS 的实现,并专门为与 Яндекс.Облако 的 SQS 实现一起使用。

Яндекс.Облако 的 SQS 实现的主要缺点是环境间的不可移植性,队列名称包含其标识符,例如,在 Яндексе云中,而不是标准队列名称 default,这样的队列将被称为 dj6000000002a9pq22in/default

安装

您可以通过 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');

待办事项

  • 测试

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件