问题:go程序热重启时 协程怎么安全退出?

目前已经压测热重启验证 不会发生http 502的情况 但协程那块会有数据丢失

示例代码:

func main()  {
    //逻辑....
    data := map[string]string{
        "go":"协程",
    }
    go asyncToDb(data)
}

func asyncToDb(data map[string]string)  {
    // TODO 入库 日志记录6000个 但成功入库少于6000(没db错误)
}