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

    作者相关推荐

  • 相关阅读:
    Jenkins解决Host key verification failed
    jenkins+gitlab发布maven项目
    gitlab升级、汉化、修改root密码
    jenkins发布普通项目、配置自动上线自动部署
    Jenkins安装配置
    awk在企业中最常用的语句
    OpenLDAP给我的启发
    三观很正的一些话
    一次完整的http请求过程以及网络I/O模型select、epoll
    Nginx三种模式的虚拟主机(附Apache基于域名的虚拟主机)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/14485899.html
Copyright © 2011-2022 走看看