go: 执行定时任务
一,代码
//定时运行功能,
func startBackgroundJob() {
ticker := time.NewTicker(1 * time.Minute)
go func() {
for range ticker.C {
// 执行后台任务逻辑
now := time.Now()
// 格式化时间
formatted := now.Format("2006-01-02 15:04:05")
fmt.Println("后台运行:当前时间:",formatted)
}
}()
}
func main() {
// 构建信息,golang版本 commit id 时间
var version bool
versionFlag := flag.Bool("version", false, "print version information and exit")
flag.BoolVar(&version, "v", false, "version")
flag.Parse()
if version || *versionFlag {
fmt.Printf("App version: %s\ngo version: %s\nOS/Arch: %s\nGitCommit: %s\nBuild time: %s\n",
Version, runtime.Version(), runtime.GOOS + "/" + runtime.GOARCH, GitCommit, BuildTime)
return
}
startBackgroundJob()
engine := html.NewFileSystem(http.FS(viewsfs), ".html")
// 设置路由
app := routes.SetupRoutes(engine)
// 启动服务器
err := app.Listen(":"+config.AppSetting.Port)
if err != nil {
return
}
}
二,测试效果:
在控制台打印:
后台运行:当前时间: 2025-07-07 17:42:17
后台运行:当前时间: 2025-07-07 17:43:17