mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-02-05 21:20:06 +00:00
⚡️ pprof 性能调优 / 计划任务支持秒级
This commit is contained in:
@@ -112,7 +112,7 @@ func ServeWeb(port uint) *http.Server {
|
||||
},
|
||||
})
|
||||
r.Static("/static", "resource/static")
|
||||
r.LoadHTMLGlob("resource/template/**/*")
|
||||
r.LoadHTMLGlob("resource/template/**/*.html")
|
||||
routers(r)
|
||||
|
||||
page404 := func(c *gin.Context) {
|
||||
|
||||
@@ -267,19 +267,22 @@ func (ma *memberAPI) addOrEditCron(c *gin.Context) {
|
||||
cr.Cover = cf.Cover
|
||||
err = json.Unmarshal([]byte(cf.ServersRaw), &cr.Servers)
|
||||
}
|
||||
if err == nil {
|
||||
_, err = cron.ParseStandard(cr.Scheduler)
|
||||
}
|
||||
tx := dao.DB.Begin()
|
||||
if err == nil {
|
||||
if cf.ID == 0 {
|
||||
err = dao.DB.Create(&cr).Error
|
||||
err = tx.Create(&cr).Error
|
||||
} else {
|
||||
err = dao.DB.Save(&cr).Error
|
||||
err = tx.Save(&cr).Error
|
||||
}
|
||||
}
|
||||
if err == nil {
|
||||
cr.CronID, err = dao.Cron.AddFunc(cr.Scheduler, dao.CronTrigger(cr))
|
||||
}
|
||||
if err == nil {
|
||||
err = tx.Commit().Error
|
||||
} else {
|
||||
tx.Rollback()
|
||||
}
|
||||
if err != nil {
|
||||
c.JSON(http.StatusOK, model.Response{
|
||||
Code: http.StatusBadRequest,
|
||||
|
||||
@@ -25,7 +25,7 @@ func init() {
|
||||
|
||||
// 初始化 dao 包
|
||||
dao.Conf = &model.Config{}
|
||||
dao.Cron = cron.New(cron.WithLocation(shanghai))
|
||||
dao.Cron = cron.New(cron.WithSeconds(), cron.WithLocation(shanghai))
|
||||
dao.Crons = make(map[uint64]*model.Cron)
|
||||
dao.ServerList = make(map[uint64]*model.Server)
|
||||
dao.SecretToID = make(map[string]uint64)
|
||||
@@ -60,13 +60,13 @@ func initSystem() {
|
||||
loadCrons() //加载计划任务
|
||||
|
||||
// 清理 服务请求记录 和 流量记录 的旧数据
|
||||
_, err := dao.Cron.AddFunc("30 3 * * *", cleanMonitorHistory)
|
||||
_, err := dao.Cron.AddFunc("0 30 3 * * *", cleanMonitorHistory)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// 流量记录打点
|
||||
_, err = dao.Cron.AddFunc("0 * * * *", recordTransferHourlyUsage)
|
||||
_, err = dao.Cron.AddFunc("0 0 * * * *", recordTransferHourlyUsage)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
@@ -162,10 +162,11 @@ func loadCrons() {
|
||||
}
|
||||
|
||||
cr.CronID, err = dao.Cron.AddFunc(cr.Scheduler, dao.CronTrigger(cr))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
if err == nil {
|
||||
dao.Crons[cr.ID] = &cr
|
||||
} else {
|
||||
log.Println("NEZHA>> 计划任务调度失败", cr, err)
|
||||
}
|
||||
dao.Crons[cr.ID] = &cr
|
||||
}
|
||||
dao.Cron.Start()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user