v2.6.7
This commit is contained in:
parent
f1be7d1ea8
commit
d0eae58a29
28
main.go
28
main.go
@ -10,7 +10,10 @@ import (
|
||||
// "strings"
|
||||
"syscall"
|
||||
_ "unsafe"
|
||||
// 中文注释: 新增了 time 和 x-ui/job 的导入,这是运行定时任务所必需的
|
||||
"time"
|
||||
|
||||
"x-ui/web/job"
|
||||
"x-ui/config"
|
||||
"x-ui/database"
|
||||
"x-ui/logger"
|
||||
@ -24,6 +27,7 @@ import (
|
||||
"github.com/op/go-logging"
|
||||
)
|
||||
|
||||
// runWebServer 是【设备限制】项目的主执行函数
|
||||
func runWebServer() {
|
||||
log.Printf("Starting %v %v", config.GetName(), config.GetVersion())
|
||||
|
||||
@ -49,6 +53,9 @@ func runWebServer() {
|
||||
log.Fatalf("Error initializing database: %v", err)
|
||||
}
|
||||
|
||||
// 中文注释: xrayService 在这里被创建,我们需要将它传递给我们的新任务
|
||||
xrayService := service.XrayService{}
|
||||
|
||||
var server *web.Server
|
||||
server = web.NewServer()
|
||||
global.SetWebServer(server)
|
||||
@ -67,6 +74,27 @@ func runWebServer() {
|
||||
return
|
||||
}
|
||||
|
||||
// 中文注释: 在面板服务启动后,我们在这里启动设备限制的后台任务
|
||||
go func() {
|
||||
// 中文注释: 等待5秒,确保面板和Xray服务已基本稳定,避免任务启动过早
|
||||
time.Sleep(5 * time.Second)
|
||||
|
||||
// 中文注释: 创建一个定时器。这里的 "10 * time.Second" 就是任务执行的间隔时间。
|
||||
// 您可以修改 10 为 2 或 1,来实现更短的延迟。
|
||||
// 例如: time.NewTicker(2 * time.Second) 就是2秒执行一次。
|
||||
ticker := time.NewTicker(10 * time.Second)
|
||||
defer ticker.Stop()
|
||||
|
||||
// 中文注释: 创建我们的任务实例, 并传入 xrayService
|
||||
checkJob := job.NewCheckDeviceLimitJob(&xrayService)
|
||||
|
||||
// 中文注释: 使用一个无限循环,每次定时器触发,就执行一次任务的 Run() 函数
|
||||
for {
|
||||
<-ticker.C
|
||||
checkJob.Run()
|
||||
}
|
||||
}()
|
||||
|
||||
sigCh := make(chan os.Signal, 1)
|
||||
// Trap shutdown signals
|
||||
signal.Notify(sigCh, syscall.SIGHUP, syscall.SIGTERM)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user