laravel中队列的使用

发布时间:2023-05-20 19:12:43 阅读:645次
https://www.choudalao.com/article/272
https://www.bbsmax.com/A/KE5QkpNjzL/
https://cloud.tencent.com/developer/article/1770845
pifox.cn/web/main
https://www.jianshu.com/p/554a44ae7671

QUEUE_DRIVER=redis
QUEUE_CONNECTION=redis
php artisan queue:work --daemon --sleep 60

默认QUEUE_DRIVER=sync 是同步的,使用delay延时队列不能使用同步的,否则不起作用。
要想使用延时队列必须把 QUEUE_DRIVER设置成 redis 或者 datebase 延迟才起作用

一般什么情况下会用到延迟队列呢?举个栗子(商城用户生成订单后没有付款三十分钟后取消订单,这个时候用延时队列来处理岂不快哉,或者群发邮件短信等一些耗时的操作时就需要用到延时队列,这样就可以减轻服务器的压力,减少等待时间

https://blog.csdn.net/qq_41688060/article/details/108398172

$res = SendReminderEmail::dispatch('66666@qq.com')->delay(3);

查看监听,访问路由三秒钟后会出现

队列不仅可以延迟执行,而且还可以设置执行的时间和执行失败的次数

<?php namespace App\Jobs;
class SendReminderEmail implements ShouldQueue
{
    /**
     * 任务最大尝试次数。
     * @var int
     */
    public $tries = 5;
    /**
     * 任务执行的最大秒数。
     * @var int
     */
    public $timeout = 30;
}

https://www.404bugs.com/details/1079022237066776576

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:laravel中队列的使用 出自老鄢博客 | 欢迎分享