对列作用
队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短Web请求和相应的时间。
队列进程原理:写一个死循环的脚本在Linux系统持续运行,新的队列任务push到这个脚本中。
一、配置
队列 配置文件存放在config/queue.php 。在该文件中你将会找到框架自带的每一个队列驱动的连接配置,包括数据库、
Beanstalkd、 IronMQ、 Amazon SQS、 Redis 以及同步(本地使用)驱动。其中还包含了一个 null 队列驱动以拒绝队
列任务。默认是sync,即同步的,直接处理,无队列.要将其修改为对应的类型,如database等。
这次主要探讨 使用database 保存队列任务。
// 在.env 文件中修改:
QUEUE_DRIVER=database
// 清除配置缓存。这是个巨坑,测试时因为没执行这一步导致配置不生效,懵逼了许久
php artisan config:cache
二、依赖
1.数据库依赖:为了使用database 队列驱动,需要一张数据库表来存放任务,要生成创建该表的迁移,
运行 Artisan 命令queue:table ,迁移被创建好了之后,使用migrate 命令运行迁移:
php artisan queue:table
php artisan migrate
// 数据库会生成以下两张表:
jobs
migrations
2.其他队列类型依赖
下面是以上列出队列驱动需要安装的依赖:
• Amazon