ensi/laravel-phprdkafka-producer
最新稳定版本:0.4.4
Composer 安装命令:
composer require ensi/laravel-phprdkafka-producer
包简介
Opiniated High Level producer for laravel-phprdkafka
README 文档
README
Opiniated High Level producer for ensi/laravel-phprdkafka
Installation
Firstly, you have to install and configure ensi/laravel-phprdkafka
Then,
composer require ensi/laravel-phprdkafka-producer
Publish the config file if you need it:
php artisan vendor:publish --provider="Ensi\LaravelPhpRdKafkaProducer\LaravelPhpRdKafkaProducerServiceProvider" --tag="kafka-producer-config"
Version Compatibility
| Laravel rdkakfa-producer | Laravel | PHP | ensi/laravel-phprdkafka |
|---|---|---|---|
| ^0.1.0 | ^7.x || ^8.x | ^8.0 | ^0.1.4 |
| ^0.2.0 | ^7.x || ^8.x | ^8.0 | ^0.1.4 |
| ^0.2.1 | ^7.x || ^8.x | ^8.0 | ^0.2 |
| ^0.2.3 | ^8.x || ^9.x | ^8.0 | ^0.2 |
| ^0.3.0 | ^8.x || ^9.x | ^8.0 | ^0.3.0 |
| ^0.3.2 | ^8.x || ^9.x || ^10.x | ^8.0 | ^0.3.0 |
| ^0.3.3 | ^8.x || ^9.x || ^10.x || ^11.x | ^8.0 | ^0.3.4 |
| ^0.4.0 | ^9.x || ^10.x || ^11.x | ^8.1 | ^0.4.0 |
| ^0.4.4 | ^9.x || ^10.x || ^11.x || ^12.x | ^8.1 | ^0.4.5 |
Basic Usage
Send a single message:
use Ensi\LaravelPhpRdKafkaProducer\HighLevelProducer; (new HighLevelProducer($topicKey))->sendOne($messageString);
Send several messages at once:
(new HighLevelProducer($topicKey))->sendMany([$message1String, $message2String]);
All options with defaults:
use Ensi\LaravelPhpRdKafkaProducer\HighLevelProducer; use Ensi\LaravelPhpRdKafkaProducer\Exceptions\KafkaProducerException; $producer = new HighLevelProducer( topicKey: $topicKey, producerName: 'some-producer-from-ensi/laravel-phprdkafka-config', flushTimeout: 5000, // ms flushRetries: 5, ); try { $producer ->setFlushTimeout(10000) ->setFlushRetries(10) ->sendOne($messageString); } catch (KafkaProducerException $e) { //... }
Middleware
You can add middleware globally via config or locally for specific Producer:
$producer->pushMiddleware(SomeMiddleware::class) ->sendOne($messageString);
Middleware example:
use Closure; use Ensi\LaravelPhpRdKafkaProducer\ProducerMessage; class SomeMiddleware { public function handle(ProducerMessage $message, Closure $next): mixed { $message->headers = $message->headers ?: []; $message->headers['Header-Name'] = 'Header Value'; return $next($message); } }
Contributing
Please see CONTRIBUTING for details.
Testing
- composer install
- composer test
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 60.86k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-10-05