zoukankan      html  css  js  c++  java
  • laravel队列配置任务最大重试次数,单任务最大执行时间

    laravel队列配置任务最大重试次数,单任务最大执行时间

    一、总结

    一句话总结:

    在使用laravel队列的时候,假如没有任何配置,那么【队列将会一直执行,直至成功为止】,但是这不是我们想要的,这样会【导致错误日志无限增长】,然后爆炸
    class SendEmailCode implements ShouldQueue
    {
        use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
        /**
         * 任务最大尝试次数。
         *
         * @var int
         */
        public $tries = 3;
        /**
         * 任务运行的超时时间。
         *
         * @var int
         */
        public $timeout = 180;
    //...

    二、laravel队列配置任务最大重试次数,单任务最大执行时间

    转自:https://www.yxccan.cn/blog/detail/41

    在使用laravel队列的时候,假如没有任何配置,那么队列将会一直执行,直至成功为止,但是这不是我们想要的,这样会导致错误日志无限增长,然后爆炸


    配置队列任务最大重试次数,或者单任务最大执行时间,有两种方法

    方法一:artisan命令,增加—tries或者 —timeout
    方法二:在Job控制器,任务类中加入变量定义


    方法一

    php artisan queue:listen --tries=3 //失败任务尝试3次
    php artisan queue:listen --timeout=60 //每个任务运行最大时间不超过60秒

    这种命令的形式,我们维护在Supervisor中,但是要是命令忘记加tries或者timeout,还是会导致出错

    所以我比较推荐下面方法,嘻嘻

    方法二

    在任务类中直接配置

    class SendEmailCode implements ShouldQueue
    {
        use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
        /**
         * 任务最大尝试次数。
         *
         * @var int
         */
        public $tries = 3;
        /**
         * 任务运行的超时时间。
         *
         * @var int
         */
        public $timeout = 180;
    //...

    PS:优先级
    当在类配置了,那么 artisan命令的配置将无效,即任务类配置优先

     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    CAP
    plugins for ST3 to frontend
    OAuth 2.0 详解
    Git SSH生成
    Android FrameWork 学习之Android 系统源码调试
    node.js安装步骤
    数据结构-- 队列 循环与顺序
    jsp之认识 servlet (基础、工作原理、容器请求处理)
    android 蓝牙开发---与蓝牙模块进行通讯 基于eclipse项目
    Android 仿微信调用第三方应用导航(百度,高德、腾讯)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/14485899.html
Copyright © 2011-2022 走看看