Demo简介

订单系统和配货系统之间的信息传递,当订单系统压力比较大时或者出现故障时不影响到配货系统,所以就用了消息队列和定时系统。

Demo准备

1.创建一张数据表重点内容

status:0未处理,1已完成,2.处理中

2.下载tp5

3.mac系统

4.php7.0(我的是php7.0)

Demo流程

1.客户下单(如果是在高并发的情况下,订单系统压力会很大)

2.把订单信息保存到数据表中,并且status为0

3.配送首先更新两条数据把status改为2(每次处理两条订单)

4.配送处理(这个过程的代码根据实际业务,这里没有说明)

5.配送完成后,修改订单状态,并且更新订单时间

代码实现

1.我先把模型中的代码展示出来,主要是对订单操作的封装

2.添加订单

我是通过这种方式来添加订单

添加订单代码

3.mysql消息队列实现配货系统

在Mac系统下实现定时消息队列

1.首先编写.sh文件

2.在mac命令行下执行 crontab -e (用来添加系统定时任务)

上面命令的功能是,每分钟执行一次那个路径下的.sh文件,并且把执行结果输出到那个路径下log.log日志文件中

最后执行结果

在此过程中遇到的问题

我的解决步骤

1.在命令行输入.sh中写的php命令发现成功,认为是文件权限的问题

2.把tp5中的所有文件权限全部更改为可读可写(事实证明是错误的)

3.最后通过度娘发现,如果是在本地测试的话,需要把tp5中database文件中的localhost改为127.0.0.1可能是个bug,至今不懂。如果有知道的欢迎留言

参考第三方

tp5 mysql定时任务_tp5+mysql实现消息队列,并在mac系统下定时执行-Go语言中文社区...相关推荐

  1. mysql条件关键字查询有limt_MySQL使用Limit关键字限制查询结果的数量-Go语言中文社区...

    1.Limit关键字的使用 查询数据时,可能会查询出很多的记录.而用户需要的记录可能只是很少的一部分.这样就需要来限制查询结果的数量.Limit是MySQL中的一个特殊关键字.Limit子句可以对查询 ...

  2. mysql实现自增字符串_Mysql实现字符串主键自增示例教程-Go语言中文社区

    /* Mysql数据库练习 需求:创建一张表,包含四个字段(pid,name,age,sex),然后使用存储过程实现添加数据,要求 1 pid 为自增主键 2 插入数据的时候值添加姓名和年龄 3 性别 ...

  3. tp5 mysql实现消息队列_TP5系列 | Queue消息队列

    消费信息如下ThinkPHP5 Queue消息队列 优点 1.Queue内置了 Redis,Database,Topthink ,Sync这四种驱动,本文使用Redis驱动 2.Queue消息队列适用 ...

  4. Mac系统下安装MySQL详细步骤

    Mac系统下安装MySQL详细步骤. 每次打开终端,都出现mysql 找不到的情况,这是因为路径问题. 解决办法.

  5. 苹果Mac系统下MySql下载MySQL5.7.25及详细安装图解

    苹果Mac系统下MySql最新版下载MySQL5.7.25及详细安装图解 一.在浏览器当中输入以下地址 https://dev.mysql.com/downloads/mysql/ 二.点击下载 ps ...

  6. php mysql redis mq_PHP基于Redis消息队列实现发布微博的方法

    本文实例讲述了PHP基于Redis消息队列实现发布微博的方法.分享给大家供大家参考,具体如下: phpRedisAdmin :github地址  图形化管理界面 git clone [url]http ...

  7. go连接mysql集群_什么是MySQL集群-Go语言中文社区

    一.什么是MySQL集群 MySQL集群是一个无共享的(shared-nothing).分布式节点架构的存储方案,其目的是提供容错性和高性能. 数据更新使用读已提交隔离级别(read-committe ...

  8. mysql主从配置 简书_Mysql主从配置,实现读写分离-Go语言中文社区

    转载:https://www.cnblogs.com/alvin_xp/p/4162249.html 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层 ...

  9. .tar.gz mysql 安装_mysql tar.gz 版本 linux系统的安装-Go语言中文社区

    mysql下载地址: https://dev.mysql.com/downloads/mysql/ 1.  上传下载的tar.gz文件发送到linux 上传的路径: /usr/local/mysql/ ...

最新文章

  1. Django学习笔记 开发环境搭建
  2. 如何查看开发者账号何时到期
  3. (chap4 IP协议) IP协议
  4. 网络工程中,VLAN到底有什么作用?
  5. jsp--请求转发与重定向
  6. 服务器虚拟化平台 可信云认证,100%满足规范,华为云Stack首批通过可信云虚拟化云平台最高等级认证...
  7. C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)
  8. mysql 常用配置
  9. c51语言花样流水灯汇编程序,基于51单片机的各种花样的流水灯c51程序
  10. linux apache gzip压缩,Linux入门教程:配置Apache开启gzip压缩传输,gzip压缩 LoadModul
  11. elasticsearch 问题.
  12. vue后台管理系统流程(面试必选)
  13. 白小小的可爱伤感空间日志发布:有些人,注定只是过客
  14. AMADA阿玛达JAE工控机维修UT5-AMD9-B故障汇总
  15. 配音软件哪个好用?好用的配音软件有哪些?你不知道的3款配音软件
  16. mqtt消息推送中间件服务器软件评价
  17. 配置Openfiler做ISCS实验
  18. 智能人像处理-ON1 Portrait AI 2021.1 v15.1.0工具
  19. 605. 种花问题(贪心算法)
  20. 数据交互同步核心银行系统与平台系统之ECIF

热门文章

  1. java开闭原则实现代码_向对象的六大原则
  2. error C2360: 参数初始化操作由“case”标签跳过
  3. 导出csv文件数字会自动变科学计数法的解决方式
  4. linux init.d 密码,Linux基础之init.d、rc.local
  5. ubtil类oracle,oracle中报错Connect internal only, until freed
  6. 如何跟上时代的步伐进入云世界
  7. Mycat读写分离以及拆库拆表综合实验3:通过日志分析mycat路由过程
  8. nginx源码分析——configure脚本
  9. Druid Monitor监控JavaSE,杀cmd端口进程
  10. 双系统重装windows后修复UBUNTU的GRUB