File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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+
1314use EasySwoole\Queue\Driver\RedisQueue;
14- use EasySwoole\Queue\Job;
1515use 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();
You can’t perform that action at this time.
0 commit comments