当前位置: 首页 > 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.cnnetsun.cn/news/2603622.html

相关文章:

  • 保姆级教程:用树莓派4B和Raspberry Pi OS Bullseye从零搭建OpenCV Python环境
  • 开源 AI 智能体 OpenClaw 搭建教程|零代码简易配置
  • 电话号码地理定位技术方案:基于Web服务的实时位置映射系统
  • 仅限本周开放|ChatGPT抖音脚本创作私藏库:217个垂直领域爆款脚本框架+19套A/B测试话术(含教育/美妆/家居类独家拆解)
  • 如何用Playnite打造终极游戏库:免费开源的游戏管理神器
  • 2026年杭州电商新星:谁是行业领头羊?
  • 数据库性能调优:提升数据库响应速度和吞吐量
  • ARMv8 AArch32特权层级与安全状态详解
  • 欧盟AI法案 vs 美国EO 14110 vs 中国《生成式AI管理办法》,ChatGPT部署风险地图,一图锁定你的合规盲区
  • AI发现OpenBSD 27年TCP漏洞:语义推理如何颠覆传统安全审计
  • 基于多智能体强化学习的大规模RIS辅助无人机通信波束优化
  • AI成功的三大支柱:算法、硬件与工具链的协同进化
  • usm 魔术师安装系统纯净版
  • JAVA开发 JDBC使用
  • 软考成绩有效期是多久?单科成绩可以保留到下次吗?全面解读 + 备考攻略
  • 如何用ESP32构建智能视觉监控系统?5步打造边缘计算人脸识别方案
  • RDS-SLAM:解锁动态场景新思路,并行语义线程如何实现实时鲁棒SLAM
  • 689款开源macOS应用:打造你的专属生产力工具库
  • Nucleus-Image基准测试解析:如何在GenEval、DPG-Bench和OneIG-Bench中领先
  • 写论文如何又快又好?师兄推荐这几个AI论文软件
  • 【AI开源】Understand-Anything 完整使用教程(2026最新版)
  • 探索流畅体验:Gliding Collection 开源项目推荐
  • GLM-5.1-w4a8安全部署指南:企业级AI应用的安全配置与防护
  • 百考通帮你“说得更独特”,一次降至安全线
  • 电磁皮肤与智能电磁环境:低成本制造与高效控制技术解析
  • Merlinite-7b性能评测:7B参数模型如何超越13B竞品?全面对比分析
  • 产品-市场匹配:贯穿产品全生命周期的健康监测仪
  • CPAL脚本自动化测试 ———— Message属性实战解析与场景应用
  • 智能仓库压缩器:基于语义分析优化AI助手调用成本与效率
  • SNN加速器设计:TUP聚合机制与可重构神经元破解同步瓶颈