import toml import queue import threading from loguru import logger import subtask as sb # 读取配置 cfg_main = toml.load('cfg_main.toml') # 配置日志输出 logger.add(cfg_main['debug']['logger_filename'], format=cfg_main['debug']['logger_format'], retention = 5, level="INFO") task_queue = queue.Queue() task_queue.put(sb.task(sb.get_block.exec, sb.get_block.find, cfg_main['task']['GetBlock_enable'])) task_queue.put(sb.task(sb.put_block.exec, sb.put_block.find, cfg_main['task']['PutBlock_enable'])) task_queue.put(sb.task(sb.get_bball.exec, sb.get_bball.find, cfg_main['task']['GetBBall_enable'])) task_queue.put(sb.task(sb.up_tower.exec, sb.up_tower.find, cfg_main['task']['UpTower_enable'])) task_queue.put(sb.task(sb.get_rball.exec, sb.get_rball.find, cfg_main['task']['GetRBall_enable'])) task_queue.put(sb.task(sb.put_bball.exec, sb.put_bball.find, cfg_main['task']['PutBBall_enable'])) task_queue.put(sb.task(sb.put_hanoi.exec, sb.put_hanoi.find, cfg_main['task']['PutHanoi_enable'])) task_queue.put(sb.task(sb.move_area.exec, sb.move_area.find, cfg_main['task']['MoveArea_enable'])) task_queue.put(sb.task(sb.kick_ass.exec, sb.kick_ass.find, cfg_main['task']['KickAss_enable'])) task_queuem_t = sb.task_queuem(task_queue) def worker_thread(): while task_queuem_t.exec() is True: pass worker = threading.Thread(target=worker_thread, daemon=True) worker.start() # 主线程仅在子线程搜索 (SEARCHING) 和 空闲 (IDLE) 状态下进行操作 while task_queuem_t.busy is True: if task_queuem_t.status is sb.task_queuem_status.EXECUTING: pass else: # 模拟执行回归任务 # logger.info("***** sim huigui task *****") pass logger.info("Main thread exit")