# Queue介紹
Easyswoole封裝實現了一個輕量級的隊列,默認以Redis作為隊列驅動器。
可以自己實現一個隊列驅動來實現用kafka或者啟動方式的隊列存儲。
從上可知,Queue并不是一個單獨使用的組件,它更像一個對不同驅動的隊列進行統一封裝的門面組件。
# 開始安裝
~~~
composer require easyswoole/queue
~~~
# 使用流程
* 注冊隊列驅動器
* 設置消費進程
* 生產者投遞任務
## Redis 驅動示例
~~~php
use EasySwoole\Redis\Config\RedisConfig;
use EasySwoole\RedisPool\RedisPool;
use EasySwoole\Queue\Driver\Redis;
use EasySwoole\Queue\Queue;
use EasySwoole\Queue\Job;
$config = new RedisConfig([
'host'=>'127.0.0.1'
]);
$redis = new RedisPool($config);
$driver = new Redis($redis);
$queue = new Queue($driver);
go(function ()use($queue){
while (1){
$job = new Job();
$job->setJobData(time());
$id = $queue->producer()->push($job);
var_dump('job create for Id :'.$id);
\co::sleep(3);
}
});
go(function ()use($queue){
$queue->consumer()->listen(function (Job $job){
var_dump($job->toArray());
});
});
~~~