laravel5.5 延时队列的使用
队列这个知识相对比较冷门,因为平时的CURD基本用不到这个知识,今天用到了,所以就写个博客记录一下吧。
首先你得清楚要用什么驱动,除了database队列驱动(选择database驱动要php artisan queue:table php artisan migrate执行这两条命令,具体参考laravel学院文档或官方文档),还有
Amazon SQS: aws/aws-sdk-php ~3.0
Beanstalkd: pda/pheanstalk ~3.0
Redis: predis/predis ~1.0等
系统默认的是
我这次选用的是redis,因为要延时60分钟处理。
所以在.env文件中
驱动改成redis。
选择好驱动之后,当然要干我们的正事了,撸“队列”代码了。
先执行
会在App\Jobs目录下生成HandleOrder.php文件,类似

这里我已经写过一些代码了。所以稍微有一点差异。我这边是订单的延时处理。在handle()方法里写代码逻辑。
在你写完这里的代码逻辑之后,你一点回想,我怎么才能跑这里的代码呢,别急,这个很简单。
在你想要调用这个队列的地方,加上
或者
这两条代码是等价的。我这里是延时60分钟的,因为 Amazon SQS 队列服务最大延迟 15 分钟。所以,选用了redis。
当然,你可以链式调用 onConnection 和 onQueue 方法 来同时指定任务的连接和队列

然后可以设置最大尝试次数
php artisan queue:work --tries=3
设置最大超时数
php artisan queue:work --timeout=30
运行队列
php artisan queue:work
还有许多其他的操作可以参考官网。
本文属于个人原创,欢迎转载,转载请附链接:http://www.cnblogs.com/x-x-j/p/9041572.html
laravel5.5 延时队列的使用的更多相关文章
- 10 DelayQueue 延时队列类——Live555源码阅读(一)基本组件类
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 www.cnblogs.com/oloroso/ 本文由乌合 ...
- 9 DelayQueueEntry 延时队列节点类——Live555源码阅读(一)基本组件类
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso ...
- 8 延时队列相关类——Live555源码阅读(一)基本组件类
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso ...
- 简析LIVE555中的延时队列
http://www.cnblogs.com/nightwatcher/archive/2011/04/10/2011158.html 最近在看LIVE555的源码,感觉其中的延时队列写的不错,于是就 ...
- Redis学习笔记之延时队列
目录 一.业务场景 二.Redis延时队列 一.业务场景 所谓延时队列就是延时的消息队列,下面说一下一些业务场景比较好理解 1.1 实践场景 订单支付失败,每隔一段时间提醒用户 用户并发量的情况,可以 ...
- 了解一下Redis队列【缓兵之计-延时队列】
https://www.cnblogs.com/wt645631686/p/8454021.html 我们平时习惯于使用 Rabbitmq 和 Kafka 作为消息队列中间件,来给应用程序之间增加 异 ...
- Redis简单延时队列
Redis实现简单延队列, 利用zset有序的数据结构, score设置为延时的时间戳. 实现思路: 1.使用命令 [zrangebyscore keyName socreMin socreMax] ...
- RabbitMQ学习之延时队列
原帖参考:http://www.cnblogs.com/telwanggs/p/7124687.html?utm_source=itdadao&utm_medium=referral http ...
- RabbitMQ进阶使用-延时队列的配置(Spring Boot)
依赖 MAVEN配置pom.xml <dependency> <groupId>org.springframework.boot</groupId> <art ...
随机推荐
- 学习pthreads,使用互斥量进行同步
在进行多线程编程时,我们总会遇到全局变量和数据结构的问题,这是多线程之间进行通信的问题.如果多个线程同时读写一个全局变量,那么会造成竞争或者出错.为了解决这一问题,我们需要对全局数据进行,使用互斥量实 ...
- (三十三)Xcode项目的重要工程文件
1.Supporting files内有一个Xxx-Info.plist文件(旧版本Xcode的配置文件叫Info.plist).因此自定义的plist不要带Info关键词. 这个plist是系统的全 ...
- Android应用---基于NDK的samples例程hello-jni学习NDK开发
Android应用---基于NDK的samples例程hello-jni学习NDK开发 NDK下载地址:http://developer.android.com/tools/sdk/ndk/index ...
- DBUtils源码分析
其实,在这篇文章里,我只是分析了dbutis的query的运作流程. 至于类为什么要这样设计,蕴含的设计模式等等高级知识点咱们在下节再探讨. 先看看最简单的DBUtils是如何工作的. 数据库里有一张 ...
- rabbitMQ之AMQP协议
1.什么是AMQP协议 即高级消息队列协议,规范客户端与消息中间件服务器之间的通信,并能相互操作. 2.AMQP协议的作用 降低应用程序之间的耦合度,这样不同应用之间的集成的难度将变得更小,并开发出更 ...
- centos6.2安装桌面环境 与中文支持
yum groupinstall "X Window System" //安装Xorgyum groupinstall "Desktop" //安装GNOMEy ...
- C语言生成32位和64位随机数算法
C语言生成32位和64位随机数算法 /** * randstd.h * * Standard definitions and types, Bob Jenkins * * 2015-01-19: re ...
- OpenCV——马赛克
具体的算法可以参考: PS 滤镜 马赛克 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_ ...
- SoftMax regression
最终收敛到这个结果,巨爽. smaple 0: 0.983690,0.004888,0.011422,likelyhood:-0.016445 smaple 1: 0.940236,0.047957, ...
- how tomcat works 读书笔记 十一 StandWrapper 上
方法调用序列 下图展示了方法调用的协作图: 这个是前面第五章里,我画的图: 我们再回顾一下自从连接器里 connector.getContainer().invoke(request, resp ...