| 12345678910111213141516171819202122232425262728293031323334353637 | package jobimport (	"x-ui/logger"	"x-ui/web/service")type XrayTrafficJob struct {	xrayService     service.XrayService	inboundService  service.InboundService	outboundService service.OutboundService}func NewXrayTrafficJob() *XrayTrafficJob {	return new(XrayTrafficJob)}func (j *XrayTrafficJob) Run() {	if !j.xrayService.IsXrayRunning() {		return	}	traffics, clientTraffics, err := j.xrayService.GetXrayTraffic()	if err != nil {		return	}	err, needRestart0 := j.inboundService.AddTraffic(traffics, clientTraffics)	if err != nil {		logger.Warning("add inbound traffic failed:", err)	}	err, needRestart1 := j.outboundService.AddTraffic(traffics, clientTraffics)	if err != nil {		logger.Warning("add outbound traffic failed:", err)	}	if needRestart0 || needRestart1 {		j.xrayService.SetToNeedRestart()	}}
 |