xray_traffic_job.go 711 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package job
  2. import (
  3. "x-ui/logger"
  4. "x-ui/web/service"
  5. )
  6. type XrayTrafficJob struct {
  7. xrayService service.XrayService
  8. inboundService service.InboundService
  9. }
  10. func NewXrayTrafficJob() *XrayTrafficJob {
  11. return new(XrayTrafficJob)
  12. }
  13. func (j *XrayTrafficJob) Run() {
  14. if !j.xrayService.IsXrayRunning() {
  15. return
  16. }
  17. traffics, clientTraffics, err := j.xrayService.GetXrayTraffic()
  18. if err != nil {
  19. logger.Warning("get xray traffic failed:", err)
  20. return
  21. }
  22. err = j.inboundService.AddTraffic(traffics)
  23. if err != nil {
  24. logger.Warning("add traffic failed:", err)
  25. }
  26. err = j.inboundService.AddClientTraffic(clientTraffics)
  27. if err != nil {
  28. logger.Warning("add client traffic failed:", err)
  29. }
  30. }