refactor(stats): move to private-api
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from . import avatar, cover, oauth, relationship, team, username # noqa: F401
|
from . import avatar, cover, oauth, relationship, stats, team, username # noqa: F401
|
||||||
from .router import router as private_router
|
from .router import router as private_router
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import json
|
|||||||
|
|
||||||
from app.dependencies.database import get_redis, get_redis_message
|
from app.dependencies.database import get_redis, get_redis_message
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.router.v2.stats import (
|
from app.router.private.stats import (
|
||||||
REDIS_ONLINE_HISTORY_KEY,
|
REDIS_ONLINE_HISTORY_KEY,
|
||||||
_get_online_users_count,
|
_get_online_users_count,
|
||||||
_get_playing_users_count,
|
_get_playing_users_count,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import asyncio
|
|||||||
|
|
||||||
from app.dependencies.database import get_redis
|
from app.dependencies.database import get_redis
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.router.v2.stats import REDIS_PLAYING_USERS_KEY, _redis_exec, get_redis_message
|
from app.router.private.stats import REDIS_PLAYING_USERS_KEY, _redis_exec, get_redis_message
|
||||||
|
|
||||||
|
|
||||||
async def maintain_playing_users_online_status():
|
async def maintain_playing_users_online_status():
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from datetime import datetime
|
|||||||
|
|
||||||
from app.dependencies.database import get_redis
|
from app.dependencies.database import get_redis
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.router.v2.stats import add_online_user
|
from app.router.private.stats import add_online_user
|
||||||
|
|
||||||
|
|
||||||
class OnlineStatusManager:
|
class OnlineStatusManager:
|
||||||
@@ -85,7 +85,7 @@ class OnlineStatusManager:
|
|||||||
await redis.delete(metadata_key)
|
await redis.delete(metadata_key)
|
||||||
|
|
||||||
# 从在线用户集合中移除
|
# 从在线用户集合中移除
|
||||||
from app.router.v2.stats import remove_online_user
|
from app.router.private.stats import remove_online_user
|
||||||
|
|
||||||
await remove_online_user(user_id)
|
await remove_online_user(user_id)
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ class OnlineStatusManager:
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
from app.dependencies.database import get_redis
|
from app.dependencies.database import get_redis
|
||||||
from app.router.v2.stats import _get_online_users_count
|
from app.router.private.stats import _get_online_users_count
|
||||||
|
|
||||||
redis = get_redis()
|
redis = get_redis()
|
||||||
return await _get_online_users_count(redis)
|
return await _get_online_users_count(redis)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from datetime import datetime, timedelta
|
|||||||
|
|
||||||
from app.dependencies.database import get_redis, get_redis_message
|
from app.dependencies.database import get_redis, get_redis_message
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.router.v2.stats import (
|
from app.router.private.stats import (
|
||||||
REDIS_ONLINE_USERS_KEY,
|
REDIS_ONLINE_USERS_KEY,
|
||||||
REDIS_PLAYING_USERS_KEY,
|
REDIS_PLAYING_USERS_KEY,
|
||||||
_redis_exec,
|
_redis_exec,
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import asyncio
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.router.v2.stats import record_hourly_stats, update_registered_users_count
|
from app.router.private.stats import record_hourly_stats, update_registered_users_count
|
||||||
from app.service.enhanced_interval_stats import EnhancedIntervalStatsManager
|
from app.service.enhanced_interval_stats import EnhancedIntervalStatsManager
|
||||||
from app.service.stats_cleanup import (
|
from app.service.stats_cleanup import (
|
||||||
cleanup_stale_online_users,
|
cleanup_stale_online_users,
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ class SpectatorHub(Hub[StoreClientState]):
|
|||||||
logger.info(f"[SpectatorHub] {client.user_id} began playing {state.beatmap_id}")
|
logger.info(f"[SpectatorHub] {client.user_id} began playing {state.beatmap_id}")
|
||||||
|
|
||||||
# Track playing user and maintain online status
|
# Track playing user and maintain online status
|
||||||
from app.router.v2.stats import add_playing_user
|
from app.router.private.stats import add_playing_user
|
||||||
from app.service.online_status_manager import online_status_manager
|
from app.service.online_status_manager import online_status_manager
|
||||||
|
|
||||||
bg_tasks.add_task(add_playing_user, user_id)
|
bg_tasks.add_task(add_playing_user, user_id)
|
||||||
@@ -376,7 +376,7 @@ class SpectatorHub(Hub[StoreClientState]):
|
|||||||
await self._end_session(user_id, state, store)
|
await self._end_session(user_id, state, store)
|
||||||
|
|
||||||
# Remove from playing user tracking
|
# Remove from playing user tracking
|
||||||
from app.router.v2.stats import remove_playing_user
|
from app.router.private.stats import remove_playing_user
|
||||||
|
|
||||||
bg_tasks.add_task(remove_playing_user, user_id)
|
bg_tasks.add_task(remove_playing_user, user_id)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user