干货:配置持久化与引擎状态的可视化

服务监控页:配置持久化与引擎状态的可视化

目标:启动即服务、状态看得见

服务监控页承担两件事:存配置 (启动参数、自动启动开关)、看状态(引擎闲忙、当前任务)。

配置持久化

配置存本地配置对象,启动时读、保存时写:

python 复制代码
def _save(self):
    cfg = self.config
    cfg.http_port = int(self.port_spin.value())
    cfg.engine_auto_start = self.engine_autostart_check.isChecked()
    cfg.http_auto_start = self.http_autostart_check.isChecked()
    cfg.save()

def _load(self):
    cfg = self.config
    self.port_spin.setValue(cfg.http_port)
    self.engine_autostart_check.setChecked(cfg.engine_auto_start)
    self.http_autostart_check.setChecked(cfg.http_auto_start)

"启动时自动启动引擎"这个开关

应用要能"开起来就能用",给配置加 engine_auto_start 开关(默认勾选)。启动时主窗口读取它:

python 复制代码
if self.config.engine_auto_start:
    self.queue.start(self.engine.process)   # 自动拉起引擎工人
    self.engine_status.setText("运行中")
    self.engine_btn.setText("停止引擎")

于是应用一启动,引擎就绪,本机调试页点了"开始处理"直接能入队。这个开关和"HTTP 自动启动"是两个独立开关,一个管引擎、一个管 HTTP 服务。

状态可视化

通过 update_current_task 显示当前正在处理哪个目录:

python 复制代码
def update_current_task(self, folder):
    self.current_task_label.setText(f"正在处理: {folder}")

结果回来 / 失败,都更新这个标签,用户能看到系统在做什么。

一句话

服务监控页 = 配置的读写入口(持久化)+ 引擎/HTTP 状态的实时展示。把"服务化"的意图都摆到这一页,别的页面只管干活。


相关推荐
特立独行的猫A5 小时前
用仓颉语言 cj-tauri 框架,五分钟给娃做了个鸿蒙形近字游戏
java·后端·python
大可不必了9 小时前
03 函数定义和调用
开发语言·python
承渊政道10 小时前
【Python编程—从入门到实践】(记分与闯关:用Python+Pygame,打造越战越精彩的太空大战!)
开发语言·python·pycharm·游戏程序·pygame
爱学习的程序媛10 小时前
Python常用框架梳理
开发语言·后端·python·ai·web·后端框架·python框架
imgsq11 小时前
GESP Python 一到四级:备考路线与真题特点
python·青少年编程
eggwyw12 小时前
Anaconda安装卸载的详细流程指南
开发语言·python
2601_9679791212 小时前
纯手写:Python安装pip完整教程,搞了几小时,终于成功
python·教程·pip·安装·包管理
Norna13 小时前
缓存文件从没写出来:一个 .json 被当成目录用了
python
aifannihao15 小时前
AI 学习第 14 课:CNN 训 6 轮卡在 0.5352,数据没打乱
pytorch·python·深度学习·cnn·学习路线
yuyuxun116 小时前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计