Context
已收录文章:28篇
-
context.WithoutCancel 会保留父 Context 的 Value,但故意切断 Done、Err、Deadline 和 Cause。本文用 Go 1.21+ 的最小示例说明适用场景、迁移边界与验收方法。344 收藏
-
Go 1.24 为 testing.T 增加 Context 方法。本文用可运行示例说明测试上下文何时取消、如何配合 Cleanup 管理资源,以及并发子测试中的边界。356 收藏
-
context.WithCancel 只能表达主动取消,不能凭空产生超时。本文用一个可运行的 HTTP 调用场景拆开取消传播、deadline 和超时错误的边界,说明如何选择 WithCancel、WithTimeout 与 WithDeadline。132 收藏
-
Go 定时任务最容易被忽略的问题不是如何按时触发,而是上一次还没结束时下一次又开始。本文用 context、超时和退出确认设计一个不会重叠执行的任务循环,并说明失败、取消和告警怎么收口。440 收藏
-
Golang · Go问答 | 1个月前 | 并发 · golang · 错误处理 · Context · Go问答 · Go 错误处理 Go问答 context.WithCancelCause context.Cause context.ErrGo 并发任务被取消时,ctx.Err() 只能告诉你是取消还是超时,context.Cause(ctx) 才能保留业务失败原因。本文用一个可运行的任务链说明 Cause、Err、errors.Is 和错误包装各自负责什么。263 收藏
-
Golang · Go问答 | 1个月前 | 并发 · golang · HTTP · Context · Go问答 · 资源释放 context.Context 请求取消 Go问答 ctx.Done Go HTTPGo 服务发布或重启时,http.Server.Shutdown 可以停止接收新连接并等待在途请求。本文说明优雅退出的调用顺序、超时边界、后台任务隔离和验收方式。176 收藏
-
用一个可复现的超时清理场景,说明 context.AfterFunc 的回调时机、Stop 返回值和幂等清理边界,给出可运行的 Go 示例与并发回归检查。151 收藏
-
Golang · Go教程 | 1个月前 | 并发 · HTTP · go · Context · net/http · HTTP中间件 Go教程 context取消 http.Request.Clone WithContext 请求复制Go 的 http.Request.Clone 和 WithContext 都能得到一份新请求,但复制深度、Header 与 URL 的独立性不同。本文用重试转发和取消场景拆开两者边界,并用测试确认改写不会污染原请求。238 收藏
-
context.Err 只能告诉调用方请求已取消或超时,context.Cause 才能保留触发取消的具体原因。本文用一个可运行的 Go 示例说明 WithCancelCause、Cause 和 Err 的关系,以及父子 context 竞争取消时的边界。428 收藏
-
科技周边 · 人工智能 | 1个月前 | go · Context · 流式处理 · 人工智能 · sse · 重试 · OpenAI Go context 流式输出 SSE Responses API 断线重试Go 服务接入 OpenAI Responses API 的流式输出时,真正难的是事件边界、重复片段、断线重试和请求取消。本文用官方 openai-go SDK 拆解 SSE 事件,给出增量文本拼接、单次重试边界和 context 超时处理的最小流程。236 收藏
-
Go 的 context.AfterFunc 适合在上下文取消后触发清理动作,但 Stop 返回 false 时回调可能已经开始或即将开始。本文用超时清理场景说明回调生命周期、竞态窗口、幂等保护和测试验收边界。258 收藏
-
Golang · Go问答 | 2个月前 | 超时 · Context · 并发控制 · Go问答 · Go 后台任务 Deadline 请求取消 context.Cause context.WithoutCancelcontext.WithoutCancel 可以让派生上下文忽略上游取消,但它会同时失去 Deadline、Err 和 Done。本文用 HTTP 请求收尾场景对比 WithoutCancel、WithTimeout 和 WithCancelCause,给出可验证的后台任务边界和回归指标。465 收藏