laravel-队列

2021-05-19  本文已影响0人  可望不可j

此处用laravel5.8做示例

.env配置

# .env 中   配置连接方式。对一般中小型应用推荐使用 Redis 作为队列驱动

# 并且在.env 中配置相应的数据库设置 以及 redis

QUEUE_CONNECTION=redis

#如果是数据库驱动,请执行以下动作,生成对应表

php artisan queue:table

php artisan migrate

#若数据库长度报错,请试试以下操作

目录:app/Providers/AppServiceProvider.php

boot 方法

use Illuminate\Support\Facades\Schema;

Schema::defaultStringLength(191);

在.env文件中配置QUEUE_CONNECTION=database

Laravel可配置多种队列驱动,包括 "sync", "database", "beanstalkd", "sqs", "redis", "null"(具体参见app/config/queue.php)

其中sync为同步,database为使用数据库,后面三种为第三方队列服务,最后一种为不使用队列。

通过在 .env 中的 QUEUE_CONNECTION 选项,来决定选择何种驱动。

如 QUEUE_CONNECTION=database 即为选择数据库驱动队列。

创建任务(例)

php artisan make:job ProcessPodcast

#运行队列

php artisan queue:work

#处理所有队列任务然后退出 

php artisan queue:work --stop-when-empty

#重启队列,代码修改后,需重启才能生效

php artisan queue:restart

上一篇 下一篇

猜你喜欢

热点阅读