Skip to content

Commit bd57cd3

Browse files
committed
队列实现优化
1 parent f04acf3 commit bd57cd3

1 file changed

Lines changed: 55 additions & 6 deletions

File tree

README.md

Lines changed: 55 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,27 @@
33
## 安装
44

55
```bash
6-
composer require easyswoole/queue 3.x
6+
composer require easyswoole/queue
77
```
88

99
## 使用
1010
默认自带的队列驱动为Redis队列。
1111
### 创建队列
12-
```
12+
```php
13+
1314
use EasySwoole\Queue\Driver\RedisQueue;
14-
use EasySwoole\Queue\Job;
1515
use EasySwoole\Queue\Queue;
16-
use EasySwoole\Redis\Config\RedisConfig;
16+
use EasySwoole\Redis\Config;
17+
18+
$config = new Config([
19+
'host'=>"",
20+
'port'=>"",
21+
'auth'=>""
22+
]);
23+
24+
$driver = new RedisQueue($config);
25+
$queue = new Queue($driver);
1726

18-
$config = new RedisConfig();
19-
$queue = new Queue(new RedisQueue($config));
2027
```
2128
### 普通生产
2229
```
@@ -32,6 +39,48 @@ $queue->consumer()->listen(function (Job $job){
3239
var_dump($job);
3340
});
3441
```
42+
43+
## CLI 单独使用
44+
```php
45+
46+
use EasySwoole\Queue\Driver\RedisQueue;
47+
use EasySwoole\Queue\Job;
48+
use EasySwoole\Queue\Queue;
49+
use EasySwoole\Redis\Config;
50+
use Swoole\Coroutine;
51+
use Swoole\Coroutine\Scheduler;
52+
53+
require "vendor/autoload.php";
54+
55+
$sc = new Scheduler();
56+
$sc->add(function (){
57+
$config = new Config([
58+
'host'=>"",
59+
'port'=>"",
60+
'auth'=>""
61+
]);
62+
63+
$driver = new RedisQueue($config);
64+
$queue = new Queue($driver);
65+
66+
Coroutine::create(function ()use($queue){
67+
while (1){
68+
Coroutine::sleep(3);
69+
$job = new Job();
70+
$job->setJobData("job create at ".time());
71+
$queue->producer()->push($job);
72+
}
73+
});
74+
75+
$queue->consumer()->listen(function (Job $job){
76+
var_dump($job->getJobData());
77+
});
78+
79+
});
80+
81+
$sc->start();
82+
```
83+
3584
## 延迟任务
3685
```
3786
$job = new Job();

0 commit comments

Comments
 (0)