当前位置: 首页 > news >正文

vss-performance 长任务Panic隔离与协程恢复

07 长任务 Panic 隔离与协程恢复

试用安装包下载 | SMS | 在线演示

项目地址:https://github.com/openskeye/go-vss

背景

VSS 长期运行,任何nil 指针、越界、第三方库 bug都可能触发 panic。若 panic 发生在唯一的 SIP 发送循环或 Catalog 定时器里,会导致整类信令崩溃。本仓库对「长生命周期任务」采用defer recover + 休眠重启的策略,把故障限制在单次崩溃,并自动拉起

项目中的做法

SipProc.DO包装每个SipProcLogic

server/sip.goSipProc.DO对每个注册的 Logic(FetchDataLogicSendLogicCatalogLoopLogic等)启动 goroutine,并在参数里注入RecoverCall

  • recover()捕获栈;
  • 打日志;
  • time.Sleep(1 * time.Second)防止 panic 死循环刷日志;
  • 递归调用p.DO(options...)把同一组任务整批重启

DO: 每个 Logic 一个 go

Logic.DO主循环

panic

recover + LogError + Stack

Sleep 1s

p.DO(options...) 重启整批

与「子 proc」的关系

部分 Logic 内部还有子 goroutine(如CatalogLoopLogicgo l.proc()),子协程若 panic 且未 recover,仍会进程崩溃。当前主要防护在外层 DO;对特别关键的proc,可再加一层 recover(后续增强点)。

要点

  1. 1秒退避:避免故障依赖(如 DB 挂了)时CPU 空转 + 日志洪峰
  2. 整批重启:一次DO重启所有 Logic,需保证无全局脏锁;若某 Logic 重启两次可能重复 Listen,当前 SIP Listen 在 main 不在此DO内,风险主要在业务循环
  3. 根因仍需修:recover 是保命不是修复;线上应配告警对接日志关键字Recover

相关代码路径

  • core/app/sev/vss/internal/server/sip.goSipProc.DORecoverCall
  • core/app/sev/vss/main.go— 注册的所有gbs_proc/procLogic
http://www.jsqmd.com/news/898469/

相关文章:

  • 百考通学术级优化:保留观点,升级表达,查重AI双降
  • TSGLP算法:融合时空信息的工业多模态过程监控方法
  • Qt Creator版本太多搞晕了?保姆级指南教你为不同Qt版本(5.14.2 / 6.2.4)匹配正确的ros_qtc_plugin插件
  • 鸣潮自动化终极指南:3个技巧让你每天节省2小时游戏时间
  • 基于VGSOT-MTJ的物理不可克隆函数:为物联网打造超低功耗硬件安全指纹
  • 构建无线传感器网络混合监控平台:从多维数据关联到系统级故障诊断
  • 想改版工艺品行业全场景适配 B2B/B2C/DTC海外官网哪家靠谱? WaiMaoYa 外贸鸭专注行业出海建站 - 外贸独立站运营
  • SDN与NFV融合架构:优化6LoWPAN物联网延迟与能耗的工程实践
  • AWS实战避坑指南:拆解云原生、高可用与成本治理的三大迷思
  • 观察不同时段调用大模型API的响应延迟变化
  • 如何为你的应用快速接入多模型能力使用Taotoken的Python调用示例
  • 超声STA成像运动补偿算法与低复杂度延迟生成器架构设计
  • 我的机械臂动起来了:基于STM32F103和SG90舵机,从接线到代码调试的全记录
  • NestJS异步任务队列实战:Bull/BullMQ高级配置与性能调优
  • 如何用5分钟搭建你的微信AI智能助手:多模型自动回复终极指南
  • 探索抖音内容获取的艺术:从手动保存到智能采集的进化之路
  • 从ps到netstat:一文搞懂Linux那些“分家”的核心工具包(Debian/Ubuntu/CentOS对照)
  • 图片优化迷思:从盲目压缩到上下文感知的决策框架
  • AI芯片分布式系统技术:Kernel v1.1(并行 + 插件化 + 可扩展运行时)
  • ChatGPT用户手册不是说明书,而是责任契约:基于《人工智能伦理治理指南》的13项法律留痕设计(含司法存证接口配置教程)
  • 修图APP哪个好用像素蛋糕技术破局重构移动端修图标准
  • 2026年毛绒玩具卡通人物款哪个好:五家优选品牌解析 - 科技焦点
  • 从零上手:MRS集成开发环境下的ARM/RISC-V单片机烧录实战指南
  • 2026年AI助手选择指南:Grok、ChatGPT、Gemini动态决策框架
  • ChatGPT目标设定实战指南:5类高频失效场景+对应Prompt模板(附2024最新测试数据)
  • 告别反复搜索!用夜神模拟器Android 9搭建Magisk+LSPosed环境保姆级实录
  • 基于马尔可夫链预测与MPC的混动客车能量管理策略工程实践
  • MTL 8750-CA-NS控制器模块
  • 包装机厂家选型全维度技术指南:避坑与匹配逻辑 - 奔跑123
  • 开源 AI 智能体 OpenClaw 搭建教程|零代码简易配置