- 新增 config/database.py: SQLite 数据库管理器 - WAL 模式提升写入性能 - 异步批量写入队列 - 滚动清理机制(保留7天) - 新增 core/storage_manager.py: 图片存储管理 - 异步保存抓拍图片 - 本地缓存断网容灾 - 按日期分目录存储 - 更新 config/settings.py: 添加 SQLite 配置 - SQLiteConfig 数据类 - 环境变量支持 - 更新 core/result_reporter.py: 适配新存储 - 使用 SQLite 替代 MySQL - AlertInfo 数据类重构 - 断网自动缓存到本地
162 lines
12 KiB
Plaintext
162 lines
12 KiB
Plaintext
2026-01-29 18:03:13 | ERROR | main | 数据库初始化失败: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")
|
|
(Background on this error at: https://sqlalche.me/e/20/e3q8)
|
|
Traceback (most recent call last):
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\pymysql\connections.py", line 644, in connect
|
|
sock = socket.create_connection(
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 857, in create_connection
|
|
raise err
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 845, in create_connection
|
|
sock.connect(sa)
|
|
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
|
|
|
|
During handling of the above exception, another exception occurred:
|
|
|
|
Traceback (most recent call last):
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\base.py", line 145, in __init__
|
|
self._dbapi_connection = engine.raw_connection()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\base.py", line 3292, in raw_connection
|
|
return self.pool.connect()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 452, in connect
|
|
return _ConnectionFairy._checkout(self)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 1269, in _checkout
|
|
fairy = _ConnectionRecord.checkout(pool)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 716, in checkout
|
|
rec = pool._do_get()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\impl.py", line 169, in _do_get
|
|
with util.safe_reraise():
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
|
|
raise exc_value.with_traceback(exc_tb)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\impl.py", line 167, in _do_get
|
|
return self._create_connection()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 393, in _create_connection
|
|
return _ConnectionRecord(self)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 678, in __init__
|
|
self.__connect()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 902, in __connect
|
|
with util.safe_reraise():
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
|
|
raise exc_value.with_traceback(exc_tb)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 898, in __connect
|
|
self.dbapi_connection = connection = pool._invoke_creator(self)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\create.py", line 637, in connect
|
|
return dialect.connect(*cargs, **cparams)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\default.py", line 616, in connect
|
|
return self.loaded_dbapi.connect(*cargs, **cparams)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\pymysql\connections.py", line 358, in __init__
|
|
self.connect()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\pymysql\connections.py", line 711, in connect
|
|
raise exc
|
|
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")
|
|
|
|
The above exception was the direct cause of the following exception:
|
|
|
|
Traceback (most recent call last):
|
|
File "C:\Users\16337\PycharmProjects\ai_edge\edge_inference_service\main.py", line 64, in _init_database
|
|
self._db_manager = init_database()
|
|
File "C:\Users\16337\PycharmProjects\ai_edge\edge_inference_service\config\database.py", line 258, in init_database
|
|
db_manager.create_tables()
|
|
File "C:\Users\16337\PycharmProjects\ai_edge\edge_inference_service\config\database.py", line 235, in create_tables
|
|
Base.metadata.create_all(self._engine)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\sql\schema.py", line 5828, in create_all
|
|
bind._run_ddl_visitor(
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\base.py", line 3242, in _run_ddl_visitor
|
|
with self.begin() as conn:
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\contextlib.py", line 135, in __enter__
|
|
return next(self.gen)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\base.py", line 3232, in begin
|
|
with self.connect() as conn:
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\base.py", line 3268, in connect
|
|
return self._connection_cls(self)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\base.py", line 147, in __init__
|
|
Connection._handle_dbapi_exception_noconnection(
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\base.py", line 2430, in _handle_dbapi_exception_noconnection
|
|
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\base.py", line 145, in __init__
|
|
self._dbapi_connection = engine.raw_connection()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\base.py", line 3292, in raw_connection
|
|
return self.pool.connect()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 452, in connect
|
|
return _ConnectionFairy._checkout(self)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 1269, in _checkout
|
|
fairy = _ConnectionRecord.checkout(pool)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 716, in checkout
|
|
rec = pool._do_get()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\impl.py", line 169, in _do_get
|
|
with util.safe_reraise():
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
|
|
raise exc_value.with_traceback(exc_tb)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\impl.py", line 167, in _do_get
|
|
return self._create_connection()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 393, in _create_connection
|
|
return _ConnectionRecord(self)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 678, in __init__
|
|
self.__connect()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 902, in __connect
|
|
with util.safe_reraise():
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
|
|
raise exc_value.with_traceback(exc_tb)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\pool\base.py", line 898, in __connect
|
|
self.dbapi_connection = connection = pool._invoke_creator(self)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\create.py", line 637, in connect
|
|
return dialect.connect(*cargs, **cparams)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\sqlalchemy\engine\default.py", line 616, in connect
|
|
return self.loaded_dbapi.connect(*cargs, **cparams)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\pymysql\connections.py", line 358, in __init__
|
|
self.connect()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\pymysql\connections.py", line 711, in connect
|
|
raise exc
|
|
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'localhost' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。)")
|
|
(Background on this error at: https://sqlalche.me/e/20/e3q8)
|
|
2026-01-29 18:07:39 | ERROR | main | MQTT连接失败: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
|
|
Traceback (most recent call last):
|
|
File "C:\Users\16337\PycharmProjects\ai_edge\edge_inference_service\core\result_reporter.py", line 220, in connect
|
|
self._client.connect(
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 914, in connect
|
|
return self.reconnect()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 1044, in reconnect
|
|
sock = self._create_socket_connection()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 3685, in _create_socket_connection
|
|
return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 857, in create_connection
|
|
raise err
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 845, in create_connection
|
|
sock.connect(sa)
|
|
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
|
|
2026-01-30 09:17:37 | ERROR | main | TensorRT引擎加载失败: negative dimensions are not allowed
|
|
Traceback (most recent call last):
|
|
File "c:\Users\16337\PycharmProjects\ai_edge\core\tensorrt_engine.py", line 102, in load_engine
|
|
self._allocate_memory_pool()
|
|
File "c:\Users\16337\PycharmProjects\ai_edge\core\tensorrt_engine.py", line 152, in _allocate_memory_pool
|
|
self._memory_pool["input"] = np.zeros(shape, dtype=dtype)
|
|
ValueError: negative dimensions are not allowed
|
|
2026-01-30 09:17:41 | ERROR | main | MQTT连接失败: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
|
|
Traceback (most recent call last):
|
|
File "c:\Users\16337\PycharmProjects\ai_edge\core\result_reporter.py", line 220, in connect
|
|
self._client.connect(
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 914, in connect
|
|
return self.reconnect()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 1044, in reconnect
|
|
sock = self._create_socket_connection()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 3685, in _create_socket_connection
|
|
return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 857, in create_connection
|
|
raise err
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 845, in create_connection
|
|
sock.connect(sa)
|
|
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
|
|
2026-01-30 09:21:28 | ERROR | main | MQTT连接失败: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
|
|
Traceback (most recent call last):
|
|
File "c:\Users\16337\PycharmProjects\ai_edge\core\result_reporter.py", line 220, in connect
|
|
self._client.connect(
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 914, in connect
|
|
return self.reconnect()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 1044, in reconnect
|
|
sock = self._create_socket_connection()
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 3685, in _create_socket_connection
|
|
return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 857, in create_connection
|
|
raise err
|
|
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 845, in create_connection
|
|
sock.connect(sa)
|
|
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
|