mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-04-20 05:52:24 +00:00
move restart cron to web.go
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
This commit is contained in:
parent
4e6484caec
commit
be4a68bd8b
2 changed files with 10 additions and 16 deletions
|
@ -4,8 +4,6 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
"x-ui/database/model"
|
"x-ui/database/model"
|
||||||
"x-ui/logger"
|
|
||||||
"x-ui/web/global"
|
|
||||||
"x-ui/web/service"
|
"x-ui/web/service"
|
||||||
"x-ui/web/session"
|
"x-ui/web/session"
|
||||||
|
|
||||||
|
@ -20,7 +18,6 @@ type InboundController struct {
|
||||||
func NewInboundController(g *gin.RouterGroup) *InboundController {
|
func NewInboundController(g *gin.RouterGroup) *InboundController {
|
||||||
a := &InboundController{}
|
a := &InboundController{}
|
||||||
a.initRouter(g)
|
a.initRouter(g)
|
||||||
a.startTask()
|
|
||||||
return a
|
return a
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,19 +39,6 @@ func (a *InboundController) initRouter(g *gin.RouterGroup) {
|
||||||
g.POST("/delDepletedClients/:id", a.delDepletedClients)
|
g.POST("/delDepletedClients/:id", a.delDepletedClients)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *InboundController) startTask() {
|
|
||||||
webServer := global.GetWebServer()
|
|
||||||
c := webServer.GetCron()
|
|
||||||
c.AddFunc("@every 10s", func() {
|
|
||||||
if a.xrayService.IsNeedRestartAndSetFalse() {
|
|
||||||
err := a.xrayService.RestartXray(false)
|
|
||||||
if err != nil {
|
|
||||||
logger.Error("restart xray failed:", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *InboundController) getInbounds(c *gin.Context) {
|
func (a *InboundController) getInbounds(c *gin.Context) {
|
||||||
user := session.GetLoginUser(c)
|
user := session.GetLoginUser(c)
|
||||||
inbounds, err := a.inboundService.GetInbounds(user.Id)
|
inbounds, err := a.inboundService.GetInbounds(user.Id)
|
||||||
|
|
10
web/web.go
10
web/web.go
|
@ -241,6 +241,16 @@ func (s *Server) startTask() {
|
||||||
// Check whether xray is running every 30 seconds
|
// Check whether xray is running every 30 seconds
|
||||||
s.cron.AddJob("@every 30s", job.NewCheckXrayRunningJob())
|
s.cron.AddJob("@every 30s", job.NewCheckXrayRunningJob())
|
||||||
|
|
||||||
|
// Check if xray needs to be restarted
|
||||||
|
s.cron.AddFunc("@every 10s", func() {
|
||||||
|
if s.xrayService.IsNeedRestartAndSetFalse() {
|
||||||
|
err := s.xrayService.RestartXray(false)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("restart xray failed:", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
time.Sleep(time.Second * 5)
|
time.Sleep(time.Second * 5)
|
||||||
// Statistics every 10 seconds, start the delay for 5 seconds for the first time, and staggered with the time to restart xray
|
// Statistics every 10 seconds, start the delay for 5 seconds for the first time, and staggered with the time to restart xray
|
||||||
|
|
Loading…
Reference in a new issue