位置: 编程技术 - 正文

PHP实现电商订单自动确认收货redis队列(php 电商)

编辑:rootadmin

推荐整理分享PHP实现电商订单自动确认收货redis队列(php 电商),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php在线订单系统源码,php生成订单号,php商品订货单代码,php 电商,php 电商,php在线订单系统,php在线订单系统,php订单下单流程,内容如对您有帮助,希望把文章链接给更多的朋友!

一、场景

之前做的电商平台,用户在收到货之后,大部分都不会主动的点击确认收货,导致给商家结款的时候,商家各种投诉,于是就根据需求,要做一个订单在发货之后的x天自动确认收货。所谓的订单自动确认收货,就是在在特定的时间,执行一条update语句,改变订单的状态。

二、思路

最笨重的做法,通过linux后台定时任务,查询符合条件的订单,然后update。最理想情况下,如果每分钟都有需要update的订单,这种方式也还行。奈何平台太小,以及卖家发货时间大部分也是密集的,不会分散在小时的每分钟。那么,定时任务的话,查询过多,不适合。这里可以先把将要自动确认收货的订单信息存储到其他介质上,比如redis,memcache,rabbitmq,然后执行的脚本从前面的介质获取到订单信息来判断,这里可以大大的减少数据库的查询压力。

redis队列的生产者

PHP实现电商订单自动确认收货redis队列(php 电商)

对此,我们选择每天在凌晨两点的时候,通过linux的定时任务把即将要确认收货的订单信息查询出来,然后存储在redis上,redis上我们选择的队列,队列处理的特点就是先进先出,前面的数据在查询订单时,通过发货时间排序,所以最先出队列的肯定是距离规定的自动收货时间最近的订单。代码如下

redis队列的消费者

队列的消费者没有通过linux的定时任务去做,用linux的screen+php cli模式执行php脚本,消费者只需要不断的从队列中读取订单信息,然后判断订单信息中的发货时间,如果达到自动收货的要求,就执行update语句。同时如果没有达到收货的时间,而且与收货时间间距比较大的时候,可以让php脚本休眠sleep一定的时间数,这个时间数自己调节设计,获取出来的未达到时间要求的订单,需要重新推送到redis队列中去,而且还是队列的顶端。以便下次获取。代码如下:

这里执行php脚本,需要用到linux的screen或者supervisor、nohup守护进程。具体用法可自行百度.同样脚本里面最好有必须的日志记录。

三、思考

随着业务的增长,在队列中同一秒内,存在的多个需要处理的订单,而一次只能从队列中取出一个相关订单信息的时候,可以采用一个生产者多个消费者的模式,这种情况下,可以用到锁机制,保证一条消息只能到达一个消费者。当redis数据达到一定的量之后,也可以适当的调整生产者的执行频率和对应的条件。

以上这篇PHP实现电商订单自动确认收货redis队列就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

yii2 resetful 授权验证详解 什么是restful风格的api呢?我们之前有写过大篇的文章来介绍其概念以及基本操作。既然写过了,那今天是要说点什么吗?这篇文章主要针对实际场景中a

PHP实现文件上传功能实例代码 点击浏览,将所选的文件上传到创建的images文件夹内代码如下:1.wenjian.php!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""

php将html转为图片的实现方法 在服务器端解析将编译好的html转换为图片。由于html一般由客户端浏览器解析,服务器端不能直接解析html代码。所以我们需要借助php类库及扩展完成这

标签: php 电商

本文链接地址:https://www.jiuchutong.com/biancheng/293577.html 转载请保留说明!

上一篇:phpmyadmin下载、安装、配置教程(phpmyadmin版本)

下一篇:yii2 resetful 授权验证详解

  • 税收减免是否属于收入
  • 跨月的增值税专用发票怎么作废重开
  • 基金份额股权转让
  • 生产成本怎么计算
  • 公司购买设备报告怎么写
  • 公司端午礼盒
  • 建筑工程机械服务有限公司企业
  • 关税消费税增值税计算公式
  • 小微企业增值税优惠政策最新2023
  • 辞退员工补偿金账务处理
  • 捐赠和赞助业务的税务处理怎么做?
  • 印花税多缴纳怎么办
  • 代扣代缴增值税纳税义务发生时间
  • 红字抵扣怎么开
  • 收取加盟费会计如何入账
  • 残保金超比例奖励
  • 收取员工宿舍租金收入要交增值税吗
  • 公司名字开错了,认证过了怎么处理
  • 建筑企业收到的成本发票可以直接进主营业务成本吗
  • 个人年终奖如何交税
  • 增值税发票选择确认平台证书密码是多少
  • 收取赔偿金开具什么发票
  • 当月开发票收到货款会计应该以什么为做账凭证?
  • 在windows7是一种
  • 固定资产无偿转让程序是什么
  • 企业并购效益
  • mac系统10.10
  • win10如何关闭更新并关机
  • 收到汇算清缴的现金
  • 对公帐户定期存款利率
  • 苹果发布macOS13.5开发者预览版
  • 分配股利什么时候做账
  • 哪些发票不能进账
  • 世界上最贵的鼠标是用什么做的
  • Loughrigg Tarn的日出,英国英格兰湖区安布尔塞德 (© John Finney photography/Getty Images)
  • php面向对象的三大特性
  • 外购货物用于公益性捐赠
  • 工程的直接成本包括哪些
  • tls版本过低怎么办
  • opencv训练模型教程
  • 承租人对融资租赁的处理原则
  • 分公司以总公司名义
  • mongodb $nin
  • 政府返还的个税手续费会计分录
  • 递延所得税资产和负债怎么计算
  • 三代手续费支付申请表怎么填
  • 印花税的申报表怎么打印
  • 合营企业和联营企业是重大影响吗
  • sql批量替换日期中的月份
  • 当月进项税大于销项税怎么办
  • 出口货物做免税处理
  • 哪些项目的进项不含税
  • 其他综合收益核算的内容及会计处理
  • 以前年度多记成本费用税前扣除,今年要怎么做分录冲销
  • 生产经营收入总额填什么金额
  • 保理手续费计入投资收益吗
  • 待摊费用取消了怎么做账
  • 客观原因怎么写
  • 为员工买的商业保险怎么做账
  • 企业其他应收款余额非常大的原因
  • 管理费怎么扣除
  • 应收账款管理办法
  • sql中函数 判断是否是null
  • service login
  • 苹果macOS 14 正式发布
  • 无线网络连接上但上不了网
  • w10 2021年更新
  • 电脑windows8怎么样
  • 按developer.android.com安装新的环境
  • django 验证码
  • opengl深度值与z值
  • Android:wpa_supplicant决定选择哪种驱动
  • vue router 组件
  • android:padding="10dp"
  • python 字符串
  • Javascript字符串奇数位替换
  • 安卓 触摸屏
  • jquery实现图片放大
  • 公司地址变更后社保要改吗
  • 什么情况适用简易诉讼程序
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设