halaei / bredis
3.0.0
2017-09-23 11:12 UTC
Requires
- php: >=7.0.0
- illuminate/queue: >=5.5
- illuminate/redis: >=5.5
- predis/predis: ~1.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~6.0
This package is auto-updated.
Last update: 2022-02-01 13:01:33 UTC
README
何时需要 bredis?
当以下条件都满足时,你需要 bredis
- 你不想因为工作进程正在睡眠而延迟作业。
- 你不想在当前的 Redis 队列驱动上运行
queue:work --sleep=0
,因为这会在没有作业时消耗 CPU。
因此,你需要你的工作进程空闲等待作业,并在作业到达时立即处理它们,几乎没有延迟。使用 bredis
,你可以愉快地运行 queue:work --sleep=0
,而不用担心忙等待和 CPU 过载。
安装
1. 通过 compioser 安装包
composer require halaei/bredis
2. 将服务提供者添加到你的 config/app.php
Halaei\BRedis\BlockingRedisServiceProvider::class
3. 将 bredis 连接添加到 app/queue.php
'bredis' => [
'driver' => 'bredis',
'connection' => 'default',
'queue' => 'default',
'retry_after' => 90,
'timeout' => 10, //Maximum seconds to wait for a job
],
请注意,如果您需要在上面的配置数组中增加 'timeout',则还应增加数组中的 'retry_after' 以及 queue:work
命令中的 --timeout。
警告:bredis 队列工作进程不处理延迟或保留的作业。因此,当使用 bredis 工作进程时,你必须至少还有一个 Redis 工作进程。
注意:bredis 队列驱动与 redis 驱动100%兼容。换句话说,您可以使用 redis 驱动推送作业,并使用 bredis 驱动弹出它们,或者反之亦然。