Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

max-workspace/cmd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

6 Commits

Repository files navigation

离线脚本框架

1、框架的作用

1.1 统一离线脚本的代码

将离线脚本工程化,避免出现存在各种语言离线脚本不好维护的局面,同时将分散在各个脚本的配置收拢管理起来,便于后续配置的管理。

1.2 解决重复的初始化工作

日志模块、redis模块、db模块在开发脚本时都是一些常用的模块,将这部分功能的初始化工作收敛在整个项目的初始化中。使得开发离线脚本时,避免这部分重复工作,同时保障核心模块的初始化统一,便于后续核心模块的维护。

1.3 业务功能复用

将代码逻辑拆分成具体的业务逻辑(service/page)和通用功能(service/data),pageService处理具体的业务需求,dataService编写通用的能力,期望达到后续开发时的能力复用。

2、特点

2.1 根据传入不同的参数,执行不同的命令

支持在命令行中传入不同的命令行参数执行不同逻辑。

2.2 根据运行环境不同支持加载不同的配置

项目启动时可以指定运行的环境,默认为开发环境。

2.3 日志文件隔离

不同命令生成的日志文件如同单独的脚本一样单独记录。

2.4 全局变量

db、redis连接池存放在全局变量中,用时直接通过名称获取对应连接。

3、目录

application 离线脚本全局变量,内部包含了redis、mysql连接池,log对象、命令行参数。
cmd 里面包含了在router注册的命令行入口
config 离线脚本的全局配置
models - dao 直接与数据库进行交互
models - errors 自定义错误对象
models - protocol 内部协议
router 命令行参数注册配置
service - page 针对具体业务的逻辑
service - data 可被不同page复用的业务处理能力
utils - 比较独立的跟业务相关性不大的工具类能力

4、快速启动

1、在cmd目录下新建一个用于处理具体命令的目录。
2、在新目录中创建一个base.go文件,编写一个实现Cmd接口的路由注册函数。
3、将这个函数写入router的map中进行命令注册。
4、将具体业务写入Cmd接口的Run方法中。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /