Laravel Redis 队列配置

首先你得安装上redis,并添加redis扩展

配置

在 .env 中指定队列驱动为redis

QUEUE_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

redis 远程登录的话,需要另外的配置,具体自行百度。

编写job

php artisan make:job TestQueue

在 app/Jobs 下会有该php文件,然后在 handle() 中写需要执行的操作,比如下面这样:

file_put_contents('queue.txt',date('Y-m-d H:i:s',time()).'执行'."\n",FILE_APPEND);

分发任务

新建控制器,在 Controller 的方法中,分发任务到指定队列(testQueue)中去

dispatch(new TestQueue())->onQueue('testQueue');

现在访问Controller 方法对应的路由时,你会发现redis中会存上相关的队列信息,但是没有执行写文件方法(file_put_contents),也就是说现在只是把job放入到队列中而已,下一步才是执行队列中的任务。

执行队列

php artisan queue:work redis --queue=testQueue

参考文档:laravel中文文档之队列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值