项目地址:
https://gitee.com/zibianqu/manage-crontab
主要实现功能:
- 邮件发送定时
- 定时调用scrapy爬虫
本项目使用iris框架
使用spf13/viper
包获取配置
使用robfig/cron
作为定时任务调度
使用jinzhu/gorm
作为数据库连接使用
项目目录说明
项目根目录
|-- config
| |-- config.go // 获取env.yml配置代码,使用`github.com/spf13/viper`包
|
|-- controllers // 控制器
| |-- Admin // 后台控制器,包含页面调用及接口
| |-- index_controller.go
| |-- login_controller.go
| |-- task_controller.go // 定时任务列表
|-- crontab
| |-- Crontab.go // 核心定时任务方法
| |-- run.go // 启动定时任务,停止定时任务
|-- database // 数据库表表迁移
| |--database.go
|-- db // 获取数据库连接资源
| |-- db.go
| |-- mysqldriver.go
|-- lib // 扩展包
| |-- localtime // 针对gorm 时间格式化
| |-- localtime.go
| |--function.go
| |--helpers.go // session 会话控制
|-- models // 模型层
| |--model.go
| |--response.go
| |--task.go
| |--user.go
|-- routes // 路由,分组
| |-- middlewares // 路由中间使用
| |-- verify_user_login.go
| |--route.go
|-- static // 静态资源
|-- views // 视图
| |-- admin
|- env.yml // 统一配置文件
|- mail.go // 入口文件