不能正常使用 #16

Closed
opened 2026-01-05 11:27:41 +08:00 by liuyang77886 · 0 comments
liuyang77886 commented 2026-01-05 11:27:41 +08:00 (Migrated from github.com)

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>

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>
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/wifi-densepose#16