laravel 任务队列_Laravel之队列

一.配置

队列配置文件存放在config/queue.php 。在该文件中你将会找到框架自带的每一个队列驱动的连接配置,包括数据库、Beanstalkd、 IronMQ、 Amazon SQS、 Redis 以及同步(本地使用)驱动。其中还包含了一个 null 队列驱动以拒绝队列任务。

默认是sync,即同步的,直接处理,无队列.要将其修改为对应的类型,如database等

二.依赖

1.数据库依赖

为了使用database 队列驱动,需要一张数据库表来存放任务,要生成创建该表的迁移,运行 Artisan 命令queue:table ,迁移被创建好了之后,使用migrate 命令运行迁移:

php artisan queue:table

php artisan migrate

2.其他队列类型依赖

下面是以上列出队列驱动需要安装的依赖:

• Amazon SQS: aws/aws-sdk-php ~3.0

• Beanstalkd: pda/pheanstalk ~3.0

• IronMQ: iron-io/iron_mq ~2.0

• Redis: predis/predis ~1.0

三.生成任务类

1.默认情况下,应用的所有队列任务都存放在app/Jobs 目录。你可以使用 Artisan CLI 生成新的队列任务:

php artisan make:job SendReminderEmail --queued

该命令将会在app/Jobs 目录下生成一个新的类,并且该类实现了Illuminate\Contracts\Queue\ShouldQueue接口,--queued告诉 Laravel 该任务应该被推送到队列而不是同步运行。

2.SendReminderEmail.php代码如下:

namespace App\Jobs;

use Illuminate\Support\Facades\Log;

use App\Jobs\Job;

use Illuminate\Queue\SerializesModels;

use Illuminate\Queue\InteractsWithQueue;

use Illuminate\Contracts\Bus\SelfHandling;

use Illumi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值