jurry / laravel-rabbitmq
RabbitMQ for Laravel & Lumen 框架
1.2
2021-05-01 10:33 UTC
Requires
- ext-sockets: *
- guzzlehttp/guzzle: *
- illuminate/console: *
- illuminate/validation: *
- php-amqplib/php-amqplib: ^2.11
- symfony/console: ^5.0
This package is auto-updated.
Last update: 2024-09-25 12:05:39 UTC
README
描述
其目的是启动工作者(消费者)并发送“同步”和“异步”请求到其他队列或交换。
安装
composer require jurry/laravel-rabbitmq
使用方法
-
将此包注册到您的 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, ], ] ); }); } }
- 您可以按需更改参数
-
通过将创建的类添加到 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, ]; // ... }
-
启动新的工作者
php artisan amqp:sync_worker php artisan amqp:async_worker