Laravel队列的使用

创建队列

命令行执行下面的命令,生成job文件

php artisan make:job 任务名

编写任务

在app/Jobs目录下找到任务文件,在handle()方法中写任务具体代码

分发任务

在控制器中调用该队列的dispatch()方法,相当于往队列添加一个任务

SendEmail::dispatch(); //SendEmail是我的任务文件类名

访问控制器中的方法,在控制器或者其他调用dispatch()方法的地方会往队列插入任务到队列,队列启动监听后会自动执行,也就是消费队列中的任务。

监听队列

在命令行启动队列监听

php artisan queue:work

延迟队列

有时候我们不希望任务马上执行,而是等待一段时间后再执行,应用场景例如订单超时取消,会员提前续费通知,消息失败重发等等很适合用延迟队列来解决。要使用延迟队列,我们只需要在分发任务时调用delay方法即可实现,例如等待10分钟后再发送邮件:

SendEmail::dispatch()->delay(now()->addMinutes(10)); //SendEmail是我的任务文件类名

更多用法参考官方文档:https://learnku.com/docs/laravel/5.5/queues/1324#260f10

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值