不能正常使用 #16
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
curl -X 'GET'
'http://localhost:8000/health/health'
-H 'accept: application/json'
Response body:
{
"status": "degraded",
"timestamp": "2026-01-05T03:21:36.951482",
"uptime_seconds": 0,
"components": {
"hardware": {
"name": "Hardware Service",
"status": "unavailable",
"message": "Service not initialized",
"last_check": "2026-01-05T03:21:36.951482",
"uptime_seconds": null,
"metrics": null
},
"pose": {
"name": "Pose Service",
"status": "unavailable",
"message": "Service not initialized",
"last_check": "2026-01-05T03:21:36.951482",
"uptime_seconds": null,
"metrics": null
},
"stream": {
"name": "Stream Service",
"status": "unavailable",
"message": "Service not initialized",
"last_check": "2026-01-05T03:21:36.951482",
"uptime_seconds": null,
"metrics": null
}
},
"system_metrics": {
"cpu": {
"percent": 12.3,
"count": 8
},
"memory": {
"total_gb": 63.9,
"available_gb": 48.77,
"used_gb": 15.12,
"percent": 23.7
},
"disk": {
"total_gb": 886.44,
"free_gb": 378.43,
"used_gb": 508.01,
"percent": 57.31
},
"network": {
"bytes_sent": 15269882,
"bytes_recv": 123177927,
"packets_sent": 79443,
"packets_recv": 235878
}
}
}
以下是打印日志:
(py311) K:\work_py\wifi-densepose>wifi-densepose -c K:/work_py/wifi-densepose/.env.txt start
1==============================
E:\pfile\anaconda3\envs\py311\Lib\site-packages\pydantic_internal_fields.py:132: UserWarning: Field "model_storage_path" in Settings has conflict with protected namespace "model_".
You may be able to resolve this warning by setting
model_config['protected_namespaces'] = ('settings_',).warnings.warn(
E:\pfile\anaconda3\envs\py311\Lib\site-packages\pydantic_internal_fields.py:132: UserWarning: Field "model_name" in PoseModelConfig has conflict with protected namespace "model_".
You may be able to resolve this warning by setting
model_config['protected_namespaces'] = ().warnings.warn(
E:\pfile\anaconda3\envs\py311\Lib\site-packages\pydantic_internal_fields.py:132: UserWarning: Field "model_path" in PoseModelConfig has conflict with protected namespace "model_".
You may be able to resolve this warning by setting
model_config['protected_namespaces'] = ().warnings.warn(
E:\pfile\anaconda3\envs\py311\Lib\site-packages\pydantic_internal_fields.py:132: UserWarning: Field "model_type" in PoseModelConfig has conflict with protected namespace "model_".
You may be able to resolve this warning by setting
model_config['protected_namespaces'] = ().warnings.warn(
2026-01-05 11:26:46 - src.logger - INFO - Logging configured - Level: INFO, File: None
2026-01-05 11:26:46 - src.commands.start - INFO - Starting WiFi-DensePose API server...
2026-01-05 11:26:46 - src.commands.start - INFO - Environment: development
2026-01-05 11:26:46 - src.commands.start - INFO - Debug mode: True
2026-01-05 11:26:46 - src.commands.start - INFO - Host: 0.0.0.0
2026-01-05 11:26:46 - src.commands.start - INFO - Port: 8000
2026-01-05 11:26:46 - src.commands.start - INFO - Workers: 1
2026-01-05 11:26:46 - src.commands.start - INFO - Validating startup requirements...
2026-01-05 11:26:46 - src.database.connection - INFO - Initializing database connections
2026-01-05 11:26:46 - src.database.connection - ERROR - PostgreSQL initialization failed: PostgreSQL connection parameters not configured
2026-01-05 11:26:46 - src.database.connection - WARNING - Falling back to SQLite database
2026-01-05 11:26:47 - sqlalchemy.engine.Engine - INFO - BEGIN (implicit)
2026-01-05 11:26:47 - sqlalchemy.engine.Engine - INFO - SELECT 1
2026-01-05 11:26:47 - sqlalchemy.engine.Engine - INFO - [generated in 0.00031s] ()
2026-01-05 11:26:47 - sqlalchemy.engine.Engine - INFO - COMMIT
2026-01-05 11:26:47 - src.database.connection - INFO - SQLite fallback database initialized
2026-01-05 11:26:49 - src.database.connection - INFO - Redis connection initialized
2026-01-05 11:26:49 - src.database.connection - INFO - Database connections initialized successfully
2026-01-05 11:26:49 - sqlalchemy.engine.Engine - INFO - BEGIN (implicit)
2026-01-05 11:26:49 - sqlalchemy.engine.Engine - INFO - SELECT 1
2026-01-05 11:26:49 - sqlalchemy.engine.Engine - INFO - [cached since 2.04s ago] ()
2026-01-05 11:26:49 - sqlalchemy.engine.Engine - INFO - COMMIT
2026-01-05 11:26:49 - src.commands.start - INFO - ✓ Database connection validated
2026-01-05 11:26:49 - src.commands.start - WARNING - ⚠ Redis connection failed: 'NullPool' object has no attribute 'size', continuing without Redis
2026-01-05 11:26:49 - src.commands.start - INFO - ✓ Log directory ready: ./logs
2026-01-05 11:26:49 - src.commands.start - INFO - ✓ Backup directory ready: ./backups
2026-01-05 11:26:49 - src.commands.start - INFO - All startup requirements validated
2026-01-05 11:26:49 - src.commands.start - INFO - Initializing database...
2026-01-05 11:26:49 - src.commands.start - INFO - Database initialized successfully
2026-01-05 11:26:49 - src.commands.start - INFO - Starting background tasks...
2026-01-05 11:26:49 - src.commands.start - INFO - ✓ Cleanup task started
2026-01-05 11:26:49 - src.commands.start - INFO - ✓ Monitoring task started
2026-01-05 11:26:49 - src.commands.start - INFO - ✓ Backup task started
2026-01-05 11:26:49 - src.commands.start - INFO - Started 3 background tasks
2026-01-05 11:26:49 - src.commands.start - INFO - Starting server in foreground mode...
INFO: Started server process [20652]
INFO: Waiting for application startup.
2026-01-05 11:26:49 - src.tasks.cleanup - INFO - Initialized 6 cleanup tasks
2026-01-05 11:26:49 - src.tasks.cleanup - INFO - Starting cleanup tasks
2026-01-05 11:26:49 - src.tasks.cleanup - INFO - Starting cleanup task: old_csi_data_cleanup
2026-01-05 11:26:49 - src.app - INFO - Starting WiFi-DensePose API...
2026-01-05 11:26:49 - src.api.websocket.connection_manager - INFO - Connection manager started
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Initializing services...
2026-01-05 11:26:49 - src.services.health_check - INFO - Initializing health check service
2026-01-05 11:26:49 - src.services.health_check - INFO - Health check service initialized
2026-01-05 11:26:49 - src.services.metrics - INFO - Initializing metrics service
2026-01-05 11:26:49 - src.services.metrics - INFO - Metrics service initialized
2026-01-05 11:26:49 - src.services.hardware_service - INFO - Starting hardware service...
2026-01-05 11:26:49 - src.core.router_interface.main_router - INFO - Mock connection established to router main_router
2026-01-05 11:26:49 - src.services.hardware_service - INFO - Router interface initialized: main_router
2026-01-05 11:26:49 - src.services.hardware_service - INFO - Hardware service started successfully
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Hardware service initialized
2026-01-05 11:26:49 - src.services.pose_service - INFO - Initializing pose service...
2026-01-05 11:26:49 - src.services.pose_service - INFO - Using mock pose data for development
2026-01-05 11:26:49 - src.services.pose_service - INFO - Pose service initialized successfully
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Pose service initialized
2026-01-05 11:26:49 - src.services.stream_service - INFO - Stream service initialized
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Stream service initialized
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Pose stream handler initialized
2026-01-05 11:26:49 - src.services.orchestrator - INFO - All services initialized successfully
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Starting services...
2026-01-05 11:26:49 - src.services.health_check - INFO - Health check service started
2026-01-05 11:26:49 - src.services.metrics - INFO - Metrics service started
2026-01-05 11:26:49 - src.services.pose_service - INFO - Pose service started
2026-01-05 11:26:49 - src.services.stream_service - INFO - Stream service started
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Application services started
2026-01-05 11:26:49 - src.api.websocket.pose_stream - INFO - Pose streaming started
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Started 2 background tasks
2026-01-05 11:26:49 - src.services.orchestrator - INFO - All services started successfully
2026-01-05 11:26:49 - src.app - INFO - WiFi-DensePose API started successfully
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Starting health check loop
2026-01-05 11:26:49 - src.services.orchestrator - INFO - Starting metrics collection loop
2026-01-05 11:26:50 - src.api.websocket.pose_stream - INFO - 🚀 Starting pose streaming loop
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - BEGIN (implicit)
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - SELECT count(csi_data.id) AS count_1
FROM csi_data
WHERE csi_data.created_at < ?
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - [generated in 0.00102s] ('2025-12-06 03:26:49.231240',)
2026-01-05 11:26:50 - src.tasks.cleanup - ERROR - Cleanup task old_csi_data_cleanup failed: (sqlite3.OperationalError) no such table: csi_data
[SQL: SELECT count(csi_data.id) AS count_1
FROM csi_data
WHERE csi_data.created_at < ?]
[parameters: ('2025-12-06 03:26:49.231240',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlite3.OperationalError: no such table: csi_data
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 47, in run
result = await self.execute(session)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 113, in execute
total_count = await session.scalar(count_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 517, in scalar
return await greenlet_spawn(
^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2399, in scalar
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2236, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
return meth(
^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 2353, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: csi_data
[SQL: SELECT count(csi_data.id) AS count_1
FROM csi_data
WHERE csi_data.created_at < ?]
[parameters: ('2025-12-06 03:26:49.231240',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2026-01-05 11:26:50 - src.tasks.cleanup - INFO - Starting cleanup task: old_pose_detection_cleanup
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - SELECT count(pose_detections.id) AS count_1
FROM pose_detections
WHERE pose_detections.created_at < ?
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - [generated in 0.00042s] ('2025-12-06 03:26:50.342223',)
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
2026-01-05 11:26:50 - src.api.websocket.pose_stream - INFO - ✅ Broadcasted pose data for zone zone_1 to 0 clients
2026-01-05 11:26:50 - src.tasks.cleanup - ERROR - Cleanup task old_pose_detection_cleanup failed: (sqlite3.OperationalError) no such table: pose_detections
[SQL: SELECT count(pose_detections.id) AS count_1
FROM pose_detections
WHERE pose_detections.created_at < ?]
[parameters: ('2025-12-06 03:26:50.342223',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlite3.OperationalError: no such table: pose_detections
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 47, in run
result = await self.execute(session)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 171, in execute
total_count = await session.scalar(count_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 517, in scalar
return await greenlet_spawn(
^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2399, in scalar
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2236, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
return meth(
^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 2353, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: pose_detections
[SQL: SELECT count(pose_detections.id) AS count_1
FROM pose_detections
WHERE pose_detections.created_at < ?]
[parameters: ('2025-12-06 03:26:50.342223',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2026-01-05 11:26:50 - src.tasks.cleanup - INFO - Starting cleanup task: old_metrics_cleanup
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - SELECT count(system_metrics.id) AS count_1
FROM system_metrics
WHERE system_metrics.created_at < ?
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - [generated in 0.00054s] ('2025-12-29 03:26:50.357844',)
2026-01-05 11:26:50 - src.tasks.cleanup - ERROR - Cleanup task old_metrics_cleanup failed: (sqlite3.OperationalError) no such table: system_metrics
[SQL: SELECT count(system_metrics.id) AS count_1
FROM system_metrics
WHERE system_metrics.created_at < ?]
[parameters: ('2025-12-29 03:26:50.357844',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlite3.OperationalError: no such table: system_metrics
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 47, in run
result = await self.execute(session)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 229, in execute
total_count = await session.scalar(count_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 517, in scalar
return await greenlet_spawn(
^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2399, in scalar
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2236, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
return meth(
^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 2353, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: system_metrics
[SQL: SELECT count(system_metrics.id) AS count_1
FROM system_metrics
WHERE system_metrics.created_at < ?]
[parameters: ('2025-12-29 03:26:50.357844',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2026-01-05 11:26:50 - src.tasks.cleanup - INFO - Starting cleanup task: old_audit_log_cleanup
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - SELECT count(audit_logs.id) AS count_1
FROM audit_logs
WHERE audit_logs.created_at < ?
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - [generated in 0.00185s] ('2025-10-07 03:26:50.357844',)
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
2026-01-05 11:26:50 - src.api.websocket.pose_stream - INFO - ✅ Broadcasted pose data for zone zone_1 to 0 clients
2026-01-05 11:26:50 - src.tasks.cleanup - ERROR - Cleanup task old_audit_log_cleanup failed: (sqlite3.OperationalError) no such table: audit_logs
[SQL: SELECT count(audit_logs.id) AS count_1
FROM audit_logs
WHERE audit_logs.created_at < ?]
[parameters: ('2025-10-07 03:26:50.357844',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlite3.OperationalError: no such table: audit_logs
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 47, in run
result = await self.execute(session)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 287, in execute
total_count = await session.scalar(count_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 517, in scalar
return await greenlet_spawn(
^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2399, in scalar
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2236, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
return meth(
^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 2353, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: audit_logs
[SQL: SELECT count(audit_logs.id) AS count_1
FROM audit_logs
WHERE audit_logs.created_at < ?]
[parameters: ('2025-10-07 03:26:50.357844',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2026-01-05 11:26:50 - src.tasks.cleanup - INFO - Starting cleanup task: orphaned_session_cleanup
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - SELECT sessions.id
FROM sessions
WHERE sessions.created_at < ? AND sessions.status IN (?, ?, ?) AND (sessions.id NOT IN (SELECT csi_data.session_id
FROM csi_data
WHERE csi_data.session_id IS NOT NULL)) AND (sessions.id NOT IN (SELECT pose_detections.session_id
FROM pose_detections))
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - [generated in 0.00064s] ('2025-12-29 03:26:50.373466', 'completed', 'failed', 'cancelled')
2026-01-05 11:26:50 - src.tasks.cleanup - ERROR - Cleanup task orphaned_session_cleanup failed: (sqlite3.OperationalError) no such table: sessions
[SQL: SELECT sessions.id
FROM sessions
WHERE sessions.created_at < ? AND sessions.status IN (?, ?, ?) AND (sessions.id NOT IN (SELECT csi_data.session_id
FROM csi_data
WHERE csi_data.session_id IS NOT NULL)) AND (sessions.id NOT IN (SELECT pose_detections.session_id
FROM pose_detections))]
[parameters: ('2025-12-29 03:26:50.373466', 'completed', 'failed', 'cancelled')]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlite3.OperationalError: no such table: sessions
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 47, in run
result = await self.execute(session)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 351, in execute
result = await session.execute(orphaned_sessions_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 461, in execute
result = await greenlet_spawn(
^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2351, in execute
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2236, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
return meth(
^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 2353, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: sessions
[SQL: SELECT sessions.id
FROM sessions
WHERE sessions.created_at < ? AND sessions.status IN (?, ?, ?) AND (sessions.id NOT IN (SELECT csi_data.session_id
FROM csi_data
WHERE csi_data.session_id IS NOT NULL)) AND (sessions.id NOT IN (SELECT pose_detections.session_id
FROM pose_detections))]
[parameters: ('2025-12-29 03:26:50.373466', 'completed', 'failed', 'cancelled')]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2026-01-05 11:26:50 - src.tasks.cleanup - INFO - Starting cleanup task: invalid_data_cleanup
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - SELECT csi_data.id
FROM csi_data
WHERE csi_data.is_valid = 0 OR csi_data.amplitude IS NULL OR csi_data.phase IS NULL OR csi_data.frequency <= ? OR csi_data.bandwidth <= ? OR csi_data.num_subcarriers <= ?
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - [generated in 0.00038s] (0, 0, 0)
2026-01-05 11:26:50 - src.tasks.cleanup - ERROR - Cleanup task invalid_data_cleanup failed: (sqlite3.OperationalError) no such table: csi_data
[SQL: SELECT csi_data.id
FROM csi_data
WHERE csi_data.is_valid = 0 OR csi_data.amplitude IS NULL OR csi_data.phase IS NULL OR csi_data.frequency <= ? OR csi_data.bandwidth <= ? OR csi_data.num_subcarriers <= ?]
[parameters: (0, 0, 0)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlite3.OperationalError: no such table: csi_data
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 47, in run
result = await self.execute(session)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\work_py\wifi-densepose\src\tasks\cleanup.py", line 394, in execute
result = await session.execute(invalid_csi_query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 461, in execute
result = await greenlet_spawn(
^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2351, in execute
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\session.py", line 2236, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
return meth(
^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 2353, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\engine\default.py", line 924, in do_execute
cursor.execute(statement, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 147, in execute
self._adapt_connection._handle_exception(error)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 298, in handle_exception
raise error
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\dialects\sqlite\aiosqlite.py", line 129, in execute
self.await(_cursor.execute(operation, parameters))
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\sqlalchemy\util_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 40, in execute
await self._execute(self._cursor.execute, sql, parameters)
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\cursor.py", line 32, in _execute
return await self._conn._execute(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 160, in _execute
return await future
^^^^^^^^^^^^
File "E:\pfile\anaconda3\envs\py311\Lib\site-packages\aiosqlite\core.py", line 63, in _connection_worker_thread
result = function()
^^^^^^^^^^
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: csi_data
[SQL: SELECT csi_data.id
FROM csi_data
WHERE csi_data.is_valid = 0 OR csi_data.amplitude IS NULL OR csi_data.phase IS NULL OR csi_data.frequency <= ? OR csi_data.bandwidth <= ? OR csi_data.num_subcarriers <= ?]
[parameters: (0, 0, 0)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2026-01-05 11:26:50 - sqlalchemy.engine.Engine - INFO - COMMIT
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
2026-01-05 11:26:50 - src.tasks.cleanup - INFO - Cleanup tasks completed: cleaned 0 items in 1.17 seconds
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
2026-01-05 11:26:50 - src.api.websocket.pose_stream - INFO - ✅ Broadcasted pose data for zone zone_1 to 0 clients
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
2026-01-05 11:26:50 - src.api.websocket.pose_stream - INFO - ✅ Broadcasted pose data for zone zone_1 to 0 clients
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
2026-01-05 11:26:50 - src.api.websocket.pose_stream - INFO - ✅ Broadcasted pose data for zone zone_1 to 0 clients
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
2026-01-05 11:26:50 - src.api.websocket.pose_stream - INFO - ✅ Broadcasted pose data for zone zone_1 to 0 clients
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
2026-01-05 11:26:50 - src.api.websocket.pose_stream - INFO - ✅ Broadcasted pose data for zone zone_1 to 0 clients
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:50 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:51 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
2026-01-05 11:26:51 - src.api.websocket.pose_stream - INFO - ✅ Broadcasted pose data for zone zone_1 to 0 clients
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:51 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
INFO: Shutting down
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:51 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
===========Debug: Raw CSI data shape: (64, 56, 3)
2026-01-05 11:26:51 - src.services.pose_service - WARNING - ====================CSI processing failed, using raw data: Pipeline processing failed: Failed to preprocess CSI data: operands could not be broadcast together with shapes (64,56,3) (1,56)
===========222
INFO: Waiting for application shutdown.
2026-01-05 11:26:51 - src.app - INFO - Shutting down WiFi-DensePose API...
2026-01-05 11:26:51 - src.api.websocket.connection_manager - INFO - All WebSocket clients disconnected
2026-01-05 11:26:51 - src.api.websocket.connection_manager - INFO - Connection manager shutdown complete
2026-01-05 11:26:51 - src.services.orchestrator - INFO - Shutting down services...
2026-01-05 11:26:51 - src.services.orchestrator - INFO - Metrics collection loop cancelled
2026-01-05 11:26:51 - src.services.orchestrator - INFO - Health check loop cancelled
2026-01-05 11:26:51 - src.api.websocket.pose_stream - INFO - Pose streaming loop cancelled
2026-01-05 11:26:51 - src.api.websocket.pose_stream - INFO - 🛑 Pose streaming loop stopped
2026-01-05 11:26:51 - src.api.websocket.pose_stream - INFO - Pose streaming stopped
2026-01-05 11:26:51 - src.api.websocket.pose_stream - INFO - Pose stream handler shutdown complete
2026-01-05 11:26:51 - src.api.websocket.connection_manager - INFO - All WebSocket clients disconnected
2026-01-05 11:26:51 - src.api.websocket.connection_manager - INFO - Connection manager shutdown complete
2026-01-05 11:26:51 - src.services.orchestrator - INFO - Application services shut down
2026-01-05 11:26:51 - src.services.health_check - INFO - Health check service shut down
2026-01-05 11:26:51 - src.services.metrics - INFO - Metrics service shut down
2026-01-05 11:26:51 - src.services.orchestrator - INFO - All services shut down successfully
2026-01-05 11:26:51 - src.app - INFO - WiFi-DensePose API shutdown complete
INFO: Application shutdown complete.
INFO: Finished server process [20652]
2026-01-05 11:26:51 - src.commands.start - INFO - Received signal 2, initiating graceful shutdown...
2026-01-05 11:26:51 - src.commands.start - INFO - Stopping background tasks...
2026-01-05 11:26:51 - src.commands.start - INFO - Stopping cleanup task...
2026-01-05 11:26:51 - src.tasks.cleanup - INFO - Periodic cleanup cancelled
2026-01-05 11:26:51 - src.commands.start - INFO - Background tasks stopped
2026-01-05 11:26:51 - src.services.hardware_service - INFO - Monitoring loop cancelled
2026-01-05 11:26:51 - src.services.stream_service - INFO - Streaming loop cancelled
(py311) K:\work_py\wifi-densepose>