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

 

posted @ 2025-07-19 07:39  刘宏缔的架构森林  阅读(8)  评论(0)    收藏  举报