golang windows 运行 github.com/fvbock/endless 库报错 undefined: syscall.SIGUSR1
gin 采用 github.com/fvbock/endless 做平滑重启方案,在 windows 下运行会报 undefined: syscall.SIGUSR1 等错误
go 服务代码如下
package main
import (
"blog/bootstrap"
"blog/config"
"fmt"
"github.com/fvbock/endless"
"github.com/gin-gonic/gin"
"log"
"time"
)
func main() {
if config.App.Env != "local" {
gin.SetMode(gin.ReleaseMode)
}
// 初始化日志
bootstrap.SetupLogger()
// 初始化数据库
bootstrap.SetupDatabase()
// 初始化 Redis
bootstrap.SetupRedis()
// 初始化雪花ID
bootstrap.SetupSnowflake()
// 初始化事件
bootstrap.SetupEvent()
// 运行 websocket 服务
bootstrap.SetupWebsocket()
// 定时任务
cron := bootstrap.SetupCron()
// 初始化路由
router := bootstrap.SetupRouter()
endless.DefaultHammerTime = 1 * time.Second
if err := endless.ListenAndServe(fmt.Sprintf(":%s", config.App.Port), router); err != nil {
log.Fatalf("listen: %s\n", err)
}
if cron != nil {
cron.Stop()
}
}
运行服务
报错信息
这是因为 win 下没有 syscall.SIGUSR1 syscall.SIGUSR2 syscall.SIGTSTP 这几个常量。
解决办法
修改 Go\src\syscall\types_windows.go 文件
0 评论
暂无数据