package weblive import "log" // goSafe 在独立 goroutine 中运行 fn;panic 只记录日志,避免拖垮整个 HTTP 进程(否则 Nginx 会看到 502)。 func goSafe(label string, fn func()) { go func() { defer func() { if r := recover(); r != nil { log.Printf("weblive: panic in %s: %v", label, r) } }() fn() }() }