有的没的
关于sgcc new项目的修改解析

https://deepwiki.com/search/_4a5e2320-f205-4630-9e97-805cb25614ca

是的,这个程序确实存在一个保持一致运行的主循环。 [1](#0-0) 

## 主循环实现

程序的主循环位于 main() 函数中,使用 schedule 库来管理定时任务: [2](#0-1) 

主循环的核心逻辑非常简单: [1](#0-0) 

这个无限循环每秒检查一次是否有待执行的定时任务,如果有就执行。

## 任务调度机制

程序设置了两个定时任务:
1. 在配置的 `JOB_START_TIME`(默认07:00)执行
2. 在该时间的12小时后再次执行 [3](#0-2) 

## 任务执行函数

实际的数据获取工作由 `run_task()` 函数处理,该函数包含重试机制: [4](#0-3) 

这个函数会调用 `DataFetcher.fetch()` 方法来执行实际的数据抓取工作。 [5](#0-4) 

## Notes

程序启动后会立即执行一次数据获取任务,然后进入主循环等待定时任务触发。这种设计确保了程序能够持续运行并按计划执行数据抓取任务,同时通过重试机制提高了系统的可靠性。

Wiki pages you might want to explore:
- [Overview (ARC-MX/sgcc_electricity_new)](/wiki/ARC-MX/sgcc_electricity_new#1)
- [Environment Variables (ARC-MX/sgcc_electricity_new)](/wiki/ARC-MX/sgcc_electricity_new#3.1)



是的,将这个项目改成单次运行非常容易!

## 需要修改的核心部分

主要需要修改 scripts/main.py 中的主循环逻辑。 [1](#1-0)  目前程序使用无限循环来保持运行,但对于青龙面板的单次执行,你只需要移除这个循环。

## 具体修改方案

### 1. 移除调度和主循环代码

删除或注释掉以下部分:
- 定时任务设置 [2](#1-1) 
- 主循环 [1](#1-0) 

### 2. 保留核心执行逻辑

保留这部分代码,它会立即执行一次数据获取: [3](#1-2) 

### 3. 修改后的 main() 函数结构

修改后的 main() 函数应该是:
1. 初始化配置和日志 [4](#1-3) 
2. 创建 DataFetcher 实例 [5](#1-4) 
3. 直接调用 run_task(fetcher) 执行一次数据获取
4. 程序结束

## 优势

这样修改后:
- 程序执行完成后会自动退出,适合青龙面板的 cron 任务
- 保留了所有数据获取逻辑 [6](#1-5) 
- 保留了重试机制 [7](#1-6) 
- 减少了资源占用,因为不需要常驻进程

## Notes

这个修改非常简单,主要是移除调度相关代码。所有的数据获取、Home Assistant 集成、数据库存储等核心功能都会保持不变。你只需要在青龙面板中设置合适的 cron 表达式来替代原来的 JOB_START_TIME 配置。

Wiki pages you might want to explore:
- [Overview (ARC-MX/sgcc_electricity_new)](/wiki/ARC-MX/sgcc_electricity_new#1)
- [Environment Variables (ARC-MX/sgcc_electricity_new)](/wiki/ARC-MX/sgcc_electricity_new#3.1)
armbian 关闭 swap:

1. 确认一下swapon --show,看一下 swapfile 位置,后面删掉
2. sudo swapoff -a
3. 去删掉 swapfile
4. 去/etc/default/armbian-zram-config 中,设置 swap=false

关掉 swap 对 emmc 好,armbian 默认开 zram,swapiness 还是 100,swap 优先级非常高。具体的参数可以看一下 armbian-zram-config 这个文件。


#linux #programming
最近国外的 doh dns 访问不了了。

暂时把 clash 配置的 dns 换成
- https://223.6.6.6/dns-query
- https://1.12.12.12/dns-query



#network
最近的烦恼事

2025-2026 上学期 排课总共是 4 个机电实训+sgave 的驱动+中德 C,总共 220课时。

我寻思着把这个 56 课时的 C 换成 48 课时的机器人的课。

结果不行。

主任建议我可以把 C 甩了。

其实我想甩一节集电实训。和同事商量,最终是把 C 甩给了他。

这样子我的课时量就下来了。但是有点过于少了 才 160。


烦人。。。

等下一个上学期的时候,我要重新夺回 C 语言。

#work #life
经典言论


技术不值钱了,现在唯一值钱的就是钱了,房子也不值钱,哎

新的牛马(毕业生)利用 AI 立马成为一个老手,最后比拼的全成了体力和加班时长了


感觉 claude code 让我成为了技术 leader - V2EX
https://www.v2ex.com/t/1141322#reply52


#ai #life
啤酒测评

最后结论 麒麟一番榨以及双合盛


聊聊男人的快乐 —— 啤酒(掏钱亲测,超详细)-美国VPS综合讨论-全球主机交流论坛 - 手机版 - Powered by Discuz!
https://hostloc.com/thread-1417862-1-1.html

#bm #life
hmi如果显示绑定的变量类型不匹配,可能是因为绑定的变量没有选择plc的外部变量。

需要做的事就是在网络与设备拉上hmi链接,并且在hmi变量里面选择对应的plc链接


#plc
关于气路实验:

气路接到台子上,台子上的气路开关,0点钟(旋到管子侧)是开,3点(远离管子)钟是关

对于压缩机:紧急按钮按下去是通电,拔上来是启动。然后气体开关旋到管子侧是开,旋到远端为关气。

#plc
hmi让联系技术支持的话 把hmi进入transfer mode然后下工程


#plc
Back to Top