Files
x-ui/web/job/xray_traffic_job.go
Hamidreza b6ccb2e076 Some fixes and improvements (#1077)
* [refactor] api controller

* [update] use status code for jsonMsg and 401 to unauthorize

* [update] handle response status code via axios

* [lint] all .go files
2024-03-10 18:00:44 +01:00

35 lines
666 B
Go

package job
import (
"x-ui/logger"
"x-ui/web/service"
)
type XrayTrafficJob struct {
xrayService service.XrayService
inboundService service.InboundService
}
func NewXrayTrafficJob() *XrayTrafficJob {
return new(XrayTrafficJob)
}
func (j *XrayTrafficJob) Run() {
if !j.xrayService.IsXrayRunning() {
return
}
traffics, clientTraffics, err := j.xrayService.GetXrayTraffic()
if err != nil {
logger.Warning("get xray traffic failed:", err)
return
}
err, needRestart := j.inboundService.AddTraffic(traffics, clientTraffics)
if err != nil {
logger.Warning("add traffic failed:", err)
}
if needRestart {
j.xrayService.SetToNeedRestart()
}
}