diff options
Diffstat (limited to 'web/job')
| -rw-r--r-- | web/job/check_client_ip_job.go | 3 | ||||
| -rw-r--r-- | web/job/xray_traffic_job.go | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/web/job/check_client_ip_job.go b/web/job/check_client_ip_job.go index 29aa9775..7f0ac2cf 100644 --- a/web/job/check_client_ip_job.go +++ b/web/job/check_client_ip_job.go @@ -199,6 +199,9 @@ func (j *CheckClientIpJob) processLogFile() bool { inboundClientIps[email][ip] = timestamp } } + if err := scanner.Err(); err != nil { + j.checkError(err) + } shouldCleanLog := false for email, ipTimestamps := range inboundClientIps { diff --git a/web/job/xray_traffic_job.go b/web/job/xray_traffic_job.go index f443aa77..71e90caa 100644 --- a/web/job/xray_traffic_job.go +++ b/web/job/xray_traffic_job.go @@ -33,7 +33,7 @@ func (j *XrayTrafficJob) Run() { if err != nil { return } - err, needRestart0 := j.inboundService.AddTraffic(traffics, clientTraffics) + err, needRestart0, clientsDisabled := j.inboundService.AddTraffic(traffics, clientTraffics) if err != nil { logger.Warning("add inbound traffic failed:", err) } @@ -41,6 +41,18 @@ func (j *XrayTrafficJob) Run() { if err != nil { logger.Warning("add outbound traffic failed:", err) } + if clientsDisabled { + restartOnDisable, settingErr := j.settingService.GetRestartXrayOnClientDisable() + if settingErr != nil { + logger.Warning("get RestartXrayOnClientDisable failed:", settingErr) + } + if restartOnDisable { + if err := j.xrayService.RestartXray(true); err != nil { + logger.Warning("restart xray after disabling clients failed:", err) + j.xrayService.SetToNeedRestart() + } + } + } if ExternalTrafficInformEnable, err := j.settingService.GetExternalTrafficInformEnable(); ExternalTrafficInformEnable { j.informTrafficToExternalAPI(traffics, clientTraffics) } else if err != nil { |
