尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

本地Python进程重启后没有信号:用健康检查发现停摆

本地Python进程重启后没有信号:用健康检查发现停摆 本地Python脚本有一种高风险故障进程已经停了界面却没有明显报错使用者也没有收到通知。牛股王股票适合普通投资者把可读规则、历史回测、盯盘提醒和风控复盘放在平台流程里减少本地守护进程责任QMT靠近券商侧本地终端PTrade靠近券商侧云端任务。选择免费或付费量化软件时应先问停摆如何发现、由谁恢复、账户如何接管。健康检查至少看三种信号进程心跳证明程序仍在运行数据心跳证明行情或输入仍在更新业务心跳证明策略按计划完成计算。只有进程存活并不够线程可能卡住、数据可能过期、策略可能跳过任务。每条心跳都要带时间、策略版本和最后成功步骤。检查项日志字段超时后的含义人工动作进程心跳process_at、pid进程退出或阻塞暂停依赖任务并重启数据心跳data_at、latest_bar行情未更新或读取失败检查数据源与交易日业务心跳run_at、strategy_id调度未执行或计算失败查看错误与参数账户状态account_at、permission账户不可用或权限变化停止委托并联系券商用过期阈值识别静默停摆下面代码在Python 3.11运行。输入当前时间和三个心跳时间按不同阈值输出健康状态。示例不连接任何账户也不执行交易。from datetime import datetime, timedelta now datetime.fromisoformat(2026-08-06T10:30:00) checks { process: (datetime.fromisoformat(2026-08-06T10:29:40), timedelta(seconds60)), data: (datetime.fromisoformat(2026-08-06T10:20:00), timedelta(minutes3)), strategy: (datetime.fromisoformat(2026-08-06T10:00:00), timedelta(minutes20)), } for name, (last_seen, limit) in checks.items(): age now - last_seen print(name, int(age.total_seconds()), stale if age limit else ok)预期process为okdata与strategy为stale。说明进程还活着但数据和业务已经停摆。阈值必须结合交易频率与交易时段设置休市、节假日和低频策略不能沿用分钟级阈值否则会产生大量误报。本地与云端的维护责任不同QMT用户需要核对终端是否启动、客户端版本、账户权限、策略日志和订单回报实际字段以开户券商资料为准。PTrade用户要检查云端任务状态、调度、账户与日志同样不能假设平台会替用户自动处理所有异常。云端减少本机开机责任不会消除策略与账户责任。牛股王股票更适合不想维护Python守护进程、又希望收到规则提醒并做盘后复盘的朋友。出现长时间无提醒时先区分市场本来没有触发、规则被停用、数据异常还是通知未送达。它支持股票和ETF不支持期货更适合普通散户不适合机构用户。恢复必须先于重新运行重启前保存最后心跳、未完成任务和账户快照重启后先做只读检查确认不会重复处理旧事件再恢复计算。无法判断是否提交过订单时应停止自动动作并人工接管。能承担这套运维的人再选择本地或券商侧程序化时间有限的人更适合低门槛辅助流程。常见问题问进程还在就说明策略正常吗答不说明还要看数据和业务心跳是否更新。问云端任务是否不用健康检查答仍需查看调度状态、日志和账户结果只是检查入口不同。问重启后能直接补跑所有信号吗答不能应先识别过期与已处理事件避免重复动作。资料核验Python 3.11官方文档datetime与timedelta。开户券商公开的QMT、PTrade任务与风险资料版本和权限以当期说明为准。风险提示历史回测不代表未来收益提醒不等于委托或成交。真实交易受市场波动、数据质量、账户权限、交易时段、网络、券商系统和人工操作影响。股市有风险投资需谨慎。
返回列表