File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# Queue
2+
3+ ## 安装
4+
5+ ``` bash
6+ composer require easyswoole/queue 2.1.x
7+ ```
8+
9+ 版本要求:
10+
11+ ` easyswoole/redis-pool:~2.2.0 `
12+
13+ ## 使用
14+
215``` php
316<?php
417/**
@@ -12,16 +25,18 @@ include "./vendor/autoload.php";
1225
1326go(function (){
1427 //queue组件会自动强制进行序列化
15- \EasySwoole\RedisPool\Redis ::getInstance()->register('queue', new \EasySwoole\Redis\Config\RedisConfig(
28+ \EasySwoole\RedisPool\RedisPool ::getInstance()->register(new \EasySwoole\Redis\Config\RedisConfig(
1629 [
1730 'host' => '127.0.0.1',
1831 'port' => '6379',
1932 'auth' => 'easyswoole',
2033 ]
21- ));
22- $redisPool = \EasySwoole\RedisPool\Redis ::getInstance()->get ('queue');
34+ ), 'queue' );
35+ $redisPool = \EasySwoole\RedisPool\RedisPool ::getInstance()->getPool ('queue');
2336 $driver = new \EasySwoole\Queue\Driver\Redis($redisPool,'queue');
2437 $queue = new EasySwoole\Queue\Queue($driver);
38+
39+ // 生产者
2540 go(function ()use($queue){
2641 while (1){
2742 $job = new \EasySwoole\Queue\Job();
@@ -32,14 +47,15 @@ go(function (){
3247 \co::sleep(3);
3348 }
3449 });
50+
51+ // 消费者
3552 go(function ()use($queue){
3653 $queue->consumer()->listen(function (\EasySwoole\Queue\Job $job){
3754 echo "job1 data:".$job->getJobData().PHP_EOL;
3855 });
3956 });
4057
4158
42-
4359 $driver = new \EasySwoole\Queue\Driver\Redis($redisPool,'queue2');
4460 $queue2 = new EasySwoole\Queue\Queue($driver);
4561 go(function ()use($queue2){
Original file line number Diff line number Diff line change 1717 "require" : {
1818 "ext-swoole" : " >=4.4.0" ,
1919 "easyswoole/component" : " ^2.0" ,
20- "easyswoole/redis-pool" : " ^2.0.7 "
20+ "easyswoole/redis-pool" : " ~2.2.0 "
2121 },
2222 "require-dev" : {
2323 "easyswoole/swoole-ide-helper" : " ^1.0"
Original file line number Diff line number Diff line change 77use EasySwoole \Queue \Job ;
88use EasySwoole \Queue \QueueDriverInterface ;
99use EasySwoole \Redis \Redis as Connection ;
10- use EasySwoole \RedisPool \RedisPool ;
10+ use EasySwoole \RedisPool \Pool ;
1111
1212class Redis implements QueueDriverInterface
1313{
1414
1515 protected $ pool ;
1616 protected $ queueName ;
17- public function __construct (RedisPool $ pool ,string $ queueName = 'easy_queue ' )
17+ public function __construct (Pool $ pool ,string $ queueName = 'easy_queue ' )
1818 {
1919 $ this ->pool = $ pool ;
2020 $ this ->queueName = $ queueName ;
You can’t perform that action at this time.
0 commit comments