perf: 优化日志增量获取逻辑

This commit is contained in:
RockChinQ
2024-10-13 22:33:51 +08:00
parent 7c3557e943
commit 9703fc0366
4 changed files with 59 additions and 33 deletions

View File

@@ -1,21 +0,0 @@
from __future__ import annotations
import traceback
import quart
from .....core import app
from .. import group
@group.group_class('log', '/api/v1/log')
class LogRouterGroup(group.RouterGroup):
async def initialize(self) -> None:
@self.route('', methods=['GET'])
async def _() -> str:
return self.success(
data={
"logs": self.ap.log_cache.get_all_logs()
}
)

View File

@@ -0,0 +1,32 @@
from __future__ import annotations
import traceback
import quart
from .....core import app
from .. import group
@group.group_class('logs', '/api/v1/logs')
class LogsRouterGroup(group.RouterGroup):
async def initialize(self) -> None:
@self.route('', methods=['GET'])
async def _() -> str:
start_page_number = int(quart.request.args.get('start_page_number', 0))
start_offset = int(quart.request.args.get('start_offset', 0))
logs_str, end_page_number, end_offset = self.ap.log_cache.get_log_by_pointer(
start_page_number=start_page_number,
start_offset=start_offset
)
return self.success(
data={
"logs": logs_str,
"end_page_number": end_page_number,
"end_offset": end_offset
}
)

View File

@@ -5,7 +5,7 @@ import asyncio
import quart
from ....core import app
from .groups import log
from .groups import logs
from . import group