TqWebHelper 本地监控:图表不刷新与端口冲突排查

前言

策略丢在云主机上跑,人不在机房,心里总有点虚。我习惯开一个轻量 Web 页面盯仓位和曲线,手机通过内网 VPN 刷一眼,确认进程还活着、持仓没跑偏。天勤这边和 Web 相关的说明在 usage/web_gui.rst,实现上常和 TqWebHelper 一类能力一起用。好用的时候很省心,难用的时候也就两类毛病:图不动,或者端口被占用启动失败。

印象最深的一次,同事远程喊「页面死了」,SSH 上去发现策略其实在跑、也在下单,是主循环里夹了同步请求拉外部数据,把 wait_update 堵住了,Web 自然不刷新。另一次是一台机起三个策略,三个都默认 8888,后起的两个静默失败,大家以为「Web 坏了」,其实是端口打架。下面写集成习惯和排查顺序。

一、适用边界

先说清楚能干什么、不能干什么,免得期望错位。

  • 适合本机或内网辅助看盘,不是给互联网公众访问的产品
  • 不能替代期货公司官方终端,更不能替代风控审批流程
  • 和主策略同一进程、同一 TqApi 时,关系最清晰;拆进程就要接受延迟和同步成本

生产环境我会把 Web 当「安慰剂 + 粗监控」,真告警仍走文件日志和分级推送,不靠页面刷新判断生死。

二、最小集成思路

类名、构造参数以 usage/web_gui.rst 为准,别凭记忆硬写。

python 复制代码
from tqsdk import TqApi, TqAuth, TqSim
# 具体 Web 类名、构造参数以 usage/web_gui.rst 为准

api = TqApi(TqSim(), auth=TqAuth("账户", "密码"))
# web = TqWebHelper(api, ...)  # 按文档启用

while True:
    api.wait_update()

浏览器打开文档给的地址后,策略逻辑仍只在 wait_update 循环里推进。Web 是展示层,别在渲染回调里写下单逻辑,否则刷新一次页面触发一次报单这种惨剧,理论上可能发生。

三、图表不刷新

图 frozen 时,我按这张表从上到下查。

可能原因 处理
主循环阻塞 去掉 sleep、同步 HTTP、大文件 IO
循环已退出但进程还在 看是否异常未捕获、是否误 break
浏览器缓存 强刷、换浏览器、无痕窗口试一次
非交易时段无成交 行情字段不变,页面不动属正常
订阅合约错误 核对 instrument_id 是否有推送

在循环里临时加一行:仅当 is_changing(quote) 时 print 时间戳。若终端在刷、页面不动,问题在 Web 层;若终端也不刷,先救主循环。

四、端口冲突

多策略同机时,端口必须写进启动脚本,写进运维表。

  • 构造参数或配置文件里改端口(以文档为准)
  • Windows / Linux 用系统命令查占用,杀掉僵尸策略进程
  • 每台机维护「进程名 --- 端口 --- 策略版本」小表,新人部署不会撞车

我见过最折腾的是:旧策略没 kill 干净,新策略用了新端口,同事仍 bookmark 旧端口,以为「今天行情特别平」------其实是在看昨天的僵尸页面缓存。

五、安全注意

内网监控也会出事:误暴露公网、页面里带完整账号、截图外传泄露 webhook。

  • 不对公网暴露无认证端口
  • 防火墙只放行办公室 / VPN 网段
  • 页面和日志里账号打码,密码永不出现

六、与钉钉告警分工

渠道 用途
Web 人在时扫一眼、盘中直觉判断
钉钉/邮件 人不在时、必须叫醒你的事件

Web 不适合替代断线短信。图不动不等于策略停,策略停也不等于图会马上变灰------两条线要分开想。

总结

TqWebHelper 这类能力,适合「人在附近」的盯盘,不适合当唯一运维手段。天勤主循环一旦为图表或外部请求让路,行情就会慢半拍,下单也会慢半拍。我现在的习惯是:先保证 wait_update 干净,再开 Web;端口写死、写进表;图不刷先查循环活不活,再查浏览器。你若也在远程跑策略,不妨下周挑一个非交易时段,故意开一个阻塞调用,看 Web 和日志谁先「死」------试一次,以后就不容易在实盘高峰踩坑。

FAQ

1)远程服务器怎么看?

SSH 隧道或 VPN 进内网访问,不要裸奔公网。

2)能否只开 Web 不下单?

可以,只订行情做监控,但仍需合法 auth。

3)和 Jupyter 区别?

Jupyter 偏研究交互;Web 偏轻量、长期挂着看。

4)多账户 Web?

以文档为准,先单账户调通再扩展。

5)生产能依赖 Web 吗?

不建议。生产靠日志 + 分级告警 + 期货公司终端复核。

风险提示

本文用于期货量化技术实践讨论,不构成投资建议。

相关推荐
用户52438855928876 小时前
拆解Vue2源码-01 reactive
前端
ZC跨境爬虫6 小时前
跟着 MDN 学CSS day_10:(博客页面样式修复实战挑战)
前端·css
宋浮檀s6 小时前
DVWA通关教程2
运维·服务器·前端·javascript
专注VB编程开发20年6 小时前
Python 的 C 扩展,本质上就是“去中心化的 COM”
java·服务器·开发语言·ide·python
TechWayfarer6 小时前
营销反作弊实战:用IP归属地查询平台识别虚假流量
网络·python·网络协议·tcp/ip·数据分析
前端爆冲6 小时前
基于SSE实现AI聊天场景的流式输出
前端·ai编程
Bigger6 小时前
mini-cc 技术栈:跟着 Claude Code 先选 TypeScript + React + Ink
前端·ai编程·claude
天天爱吃肉82187 小时前
2026北京车展专题|电控产品及技术全景解读:集成化、高压化、碳化硅成主流
人工智能·python·功能测试·嵌入式硬件·汽车