jurry/laravel-rabbitmq

RabbitMQ for Laravel & Lumen 框架

1.2 2021-05-01 10:33 UTC

This package is auto-updated.

Last update: 2024-09-25 12:05:39 UTC


README

描述

其目的是启动工作者(消费者)并发送“同步”和“异步”请求到其他队列或交换。

安装

composer require jurry/laravel-rabbitmq

使用方法

  1. 将此包注册到您的 AppServiceProvider

    class AppServiceProvider {
        public function register()
        {
            ...
    
            $this->app->singleton(\Jurry\RabbitMQ\Handler\AmqpHandler::class, function () {
                return new \Jurry\RabbitMQ\Handler\AmqpHandler(
                    env('JURRY_RABBITMQ_HOST'), // host
                    env('JURRY_RABBITMQ_PORT'), // port
                    env('JURRY_RABBITMQ_USERNAME'), // username
                    env('JURRY_RABBITMQ_PASSWORD'), // password
                    '\App\Services', // classesNamespace, where the consumer will look for to process the message with targeted service class
                    [
                        'sync_queue' => [ // Sync queue options, will be used when declare the queue
                            'name' => 'stores_sync',
                            'message_ttl' => 10000,
                        ],
                        'async_queue' => [ // Async queue options, will be used when declare the queue
                            'name' => 'stores_async',
                            'message_ttl' => 10000,
                        ],
                    ]
                );
            });
        }
    }
    • 您可以按需更改参数
  2. 通过将创建的类添加到 app/Console/Kernel.php 文件中的 $commands 成员来注册您的自定义命令

    class Kernel extends ConsoleKernel
    {
        /**
         * The Artisan commands provided by your application.
         *
         * @var array
         */
        protected $commands = [
            // ...
            \Jurry\RabbitMQ\Command\SyncConsumerCommand::class,
            \Jurry\RabbitMQ\Command\AsyncConsumerCommand::class,
        ];
    
        // ...
    
    }
  3. 启动新的工作者

    php artisan amqp:sync_worker
    php artisan amqp:async_worker