- 通过请求url,
http://mydomain.com/longtimetask
-
假如url,对应 Longtimetask Index 方法, 那么
func (l *Longtimetask) Index(c *gin.Context) { // 这个地方,如何执行一个长时间后台任任务? // 我想到的办法,用 goroutine // 执行长时间后台服务, Run() c.JSON(200, gin.H{ "status": 0, "msg": "success!", }) } fun Run() { // 长时间后台服务 }
- 请考虑到http长时间请求,会断开, Longtimetask.Index退出后(返回 success ), goroutine 如何继续运行下去?
相关问题:
golang是常驻后台进程,不会因为HTTP断开导致协程也推出。你长时间执行的任务可以放到goroutine中执行。