optz
This commit is contained in:
19
cmd/main.go
19
cmd/main.go
@@ -1,11 +1,30 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"git.apinb.com/quant/collector/internal/impl"
|
||||
"git.apinb.com/quant/collector/internal/logic"
|
||||
"github.com/marcsauter/single"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// 互斥体名称,Global\CollectorSingleInstance 确保会话全局唯一
|
||||
s := single.New("CollectorSingleInstance")
|
||||
|
||||
// 尝试加锁,如果已有实例运行会返回错误
|
||||
if err := s.CheckLock(); err != nil {
|
||||
if err == single.ErrAlreadyRunning {
|
||||
fmt.Println("collector.exe 已有实例正在运行,本次启动退出。")
|
||||
os.Exit(0)
|
||||
}
|
||||
fmt.Fprintf(os.Stderr, "检查单实例失败: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
// 进程退出时自动释放锁
|
||||
defer s.TryUnlock()
|
||||
|
||||
impl.NewImpl()
|
||||
logic.Boot()
|
||||
}
|
||||
|
||||
1
go.mod
1
go.mod
@@ -47,6 +47,7 @@ require (
|
||||
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
||||
github.com/jinzhu/inflection v1.0.0 // indirect
|
||||
github.com/jinzhu/now v1.1.5 // indirect
|
||||
github.com/marcsauter/single v0.0.0-20201009143647-9f8d81240be2
|
||||
golang.org/x/crypto v0.48.0 // indirect
|
||||
golang.org/x/sync v0.20.0 // indirect
|
||||
golang.org/x/text v0.36.0 // indirect
|
||||
|
||||
2
go.sum
2
go.sum
@@ -44,6 +44,8 @@ github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
|
||||
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/marcsauter/single v0.0.0-20201009143647-9f8d81240be2 h1:TyUcIW0tpCQzV4Hpe9jF3p590EQFnMQV3sv6DhoxV6Q=
|
||||
github.com/marcsauter/single v0.0.0-20201009143647-9f8d81240be2/go.mod h1:uUA07IN7rYmbr5YlZM5nDVLyoxiqqpprFlXBrjqI24A=
|
||||
github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s=
|
||||
github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=
|
||||
github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o=
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
#!/bin/bash
|
||||
|
||||
go build -o D:\work\quant\qmt\bin\collector.exe ./cmd/main.go
|
||||
go build -ldflags="-s -w" -o D:\work\quant\qmt\bin\collector.exe ./cmd/main.go
|
||||
Reference in New Issue
Block a user