Files
GoFilm/server/main.go
2023-12-23 22:32:52 +08:00

64 lines
1.2 KiB
Go

package main
import (
"fmt"
"server/config"
"server/model/system"
"server/plugin/SystemInit"
"server/plugin/db"
"server/plugin/spider"
"server/router"
"time"
)
func init() {
// 执行初始化前等待20s , 让mysql服务完成初始化指令
time.Sleep(time.Second * 20)
//初始化redis客户端
err := db.InitRedisConn()
if err != nil {
panic(err)
}
// 初始化mysql
err = db.InitMysql()
if err != nil {
panic(err)
}
}
func main() {
start()
}
func start() {
// 开启前先判断是否需要执行Spider
//ExecSpider()
// web服务启动后开启定时任务, 用于定期更新资源
//spider.RegularUpdateMovie()
// 启动前先执行数据库内容的初始化工作
DefaultDataInit()
// 开启路由监听
r := router.SetupRouter()
_ = r.Run(fmt.Sprintf(":%s", config.ListenerPort))
}
func ExecSpider() {
// 判断分类信息是否存在
isStart := system.ExistsCategoryTree()
// 如果分类信息不存在则进行一次完整爬取
if !isStart {
DefaultDataInit()
spider.StartSpider()
}
}
func DefaultDataInit() {
// 初始化影视来源列表信息
SystemInit.SpiderInit()
// 初始化数据库相关数据
SystemInit.TableInIt()
// 初始化网站基本配置信息
SystemInit.BasicConfigInit()
}