|
@@ -35,13 +35,19 @@ func FooControllerHandler(ctx *framework.Context) error {
|
|
|
select {
|
|
select {
|
|
|
// 监听 panic
|
|
// 监听 panic
|
|
|
case <-panicChan:
|
|
case <-panicChan:
|
|
|
|
|
+ ctx.WriterMux().Lock()
|
|
|
|
|
+ defer ctx.WriterMux().Unlock()
|
|
|
ctx.Json(500, "panic")
|
|
ctx.Json(500, "panic")
|
|
|
// 监听结束
|
|
// 监听结束
|
|
|
case <-finish:
|
|
case <-finish:
|
|
|
fmt.Println("finish")
|
|
fmt.Println("finish")
|
|
|
// 监听超时
|
|
// 监听超时
|
|
|
case <-durationCtx.Done():
|
|
case <-durationCtx.Done():
|
|
|
|
|
+ ctx.WriterMux().Lock()
|
|
|
|
|
+ defer ctx.WriterMux().Unlock()
|
|
|
ctx.Json(500, "time out")
|
|
ctx.Json(500, "time out")
|
|
|
|
|
+ // 这里记得设置标记
|
|
|
|
|
+ ctx.SetHasTimeout()
|
|
|
}
|
|
}
|
|
|
return ctx.Json(200, map[string]interface{}{
|
|
return ctx.Json(200, map[string]interface{}{
|
|
|
"code": 0,
|
|
"code": 0,
|