定制 peachpear/peach-consumer-redis 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

peachpear/peach-consumer-redis

最新稳定版本:v0.2

Composer 安装命令:

composer create-project peachpear/peach-consumer-redis

包简介

redis queue consumer project

README 文档

README

pear让你更畅快地编程。 peach-consumer-redis是以peach-api为基础,增加消费者必要服务,重整为支持Redis队列消费服务的项目。 按模块区分,除了写队列消费者,还可以写一些脚本。

前提准备

必要服务支持:php-cli、Redis

可选服务支持:MySQL

数据表

CREATE TABLE `logs` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `level` varchar(32) NOT NULL DEFAULT '' COMMENT '级别',
  `log_id` varchar(128) NOT NULL DEFAULT '' COMMENT '事务标识id',
  `data` text COMMENT '数据',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_level` (`level`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='日志记录';

CREATE TABLE `queue_error` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `type` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '类型,1:异步队列,2:延迟队列',
  `queue` varchar(128) NOT NULL DEFAULT '' COMMENT '队列名称',
  `data` text COLLATE utf8mb4_general_ci COMMENT '队列数据',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_type` (`type`),
  KEY `idx_queue` (`queue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='队列错误记录';

使用说明

cd /yourProjectParentPath

composer create-project peachpear/peach-consumer-redis yourProjectName

cd /path/yourProjectName/

copy .env.example .env

运行示例

cd /path/yourProjectName/

// log队列消费者开始运行
php yii queue/consumer/start log

// mail队列消费者开始运行
php yii queue/consumer/start mail

// ticket队列消费者开始运行
php yii queue/consumer/start ticket

// ticket队列消费者停止运行
php yii queue/consumer/stop ticket

// ticket队列消费者重启运行
php yii queue/consumer/restart ticket

// ticket延迟队列消费者开始运行
php yii queue/delay/start queue

特别说明

其实,这个项目中最核心的就是循环从Redis中获取数据那一段代码,完全可以不使用框架。 之所以借用Yii2框架,就是为了方便使用日志功能,日志这一块可以注意下。

目录结构

├── common
│   ├── components
│   ├── config
│   ├── dao
│   ├── exception
│   ├── lib
│   ├── misc
│   ├── models
│   └── service
└── console
    ├── components
    ├── config
    └── controllers    

编码规范

1.PHP所有 关键字 必须 全部小写(常量 true 、false 和 null 也 必须 全部小写)
2.命名model对应的class 必须 以Model结尾
3.命名service对应的class 必须 以Service结尾
4.命名dao对应的class 必须 以Dao结尾
5.数据库查询返回接口 应该 使用model对象/对象列表
6.数据库的key必须是dbname+DB形式,e.g:dbname为test,则key为testDB
7.dao目录存放sql语句或者orm
8.model目录存放对应的数据实例对象
9.service目录存放业务逻辑处理

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MPL-2.0
  • 更新时间: 2023-05-17