实现 RS485Manager

This commit is contained in:
2025-10-08 19:36:48 +08:00
parent fe1c307129
commit 46922e8505
9 changed files with 279 additions and 23 deletions

View File

@@ -12,7 +12,7 @@
import uqueue
from processor import Processor
from logger import log
from logs.logger import log
def worker_task(task_queue: uqueue.Queue, processor: Processor):
@@ -24,21 +24,21 @@ def worker_task(task_queue: uqueue.Queue, processor: Processor):
processor (Processor): 业务处理器实例。
"""
log("工作线程已启动,等待任务...")
while True:
try:
# 1. 阻塞式地从队列中获取任务
# 如果队列为空程序会在这里自动挂起不消耗CPU
# get()方法是线程安全的
packet_bytes = task_queue.get()
log(f"工作线程:收到新任务,开始处理... 数据: {packet_bytes.hex()}")
# 2. 调用processor进行耗时的、阻塞式的处理
# 这个处理过程不会影响主线程的LoRa监听
processor.handle_packet(packet_bytes)
log("工作线程:任务处理完毕,继续等待下一个任务。")
except Exception as e:
log(f"错误:工作线程在处理任务时发生异常: {e}")