Files
kami_scripts/verification/lock.go
danial a6c0b17075 feat(lock): 添加文件锁功能以防止多实例运行
- 在 main.go 中集成文件锁,确保应用程序只能有一个实例运行
- 新增 lock.go 文件,提供锁定和解锁文件的功能
- 更新 go.mod 和 go.sum 文件,引入 gofrs/flock 依赖
- 修改 submit_order.go 中的日志记录,优化订单发送信息
2025-07-09 19:47:35 +08:00

31 lines
523 B
Go

package main
import (
"errors"
"github.com/gofrs/flock"
)
var fileLock *flock.Flock
// LockFile 尝试锁定指定文件
func LockFile(path string) error {
fileLock = flock.New(path)
locked, err := fileLock.TryLock()
if err != nil {
return err
}
if !locked {
return errors.New("无法获得文件锁,可能已有其他实例在运行")
}
return nil
}
// UnlockFile 释放锁
func UnlockFile() error {
if fileLock == nil {
return errors.New("lock file not initialized")
}
return fileLock.Unlock()
}