完善 LongTask 模块
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-10-19 16:47:50 +08:00
parent a65cb118cc
commit f768c91430
2 changed files with 10 additions and 4 deletions

View File

@ -148,6 +148,7 @@ class LongTask(BaseModel):
datafile.to_handle[self.callback] = [
t for t in datafile.to_handle[self.callback] if t.uuid != self.uuid
]
logger.info(f"LongTask 工作完成 UUID={self.uuid} callback={self.callback}")
def clean(self):
self._aio_task = None
@ -257,6 +258,7 @@ async def create_longtask(
deadline=deadline,
)
logger.info(f"创建了新的 LongTask UUID={task.uuid} CALLBACK={task.callback}")
await task.start()
async with longtask_data() as d:
@ -266,10 +268,17 @@ async def create_longtask(
async def init_longtask():
counter = 0
req: set[str] = set()
async with longtask_data() as data:
for v in data.to_handle.values():
for t in v:
await t.start()
counter += 1
req.add(t.callback)
logger.info(f"LongTask 启动了任务 数量={counter} 期望的门类=[{','.join(req)}]")
DepLongTaskTarget = Annotated[LongTaskTarget, Depends(get_long_task_target)]

View File

@ -4,13 +4,11 @@ import asyncio
from loguru import logger
import nonebot
# from nonebot.adapters import Bot, Event
# from nonebot_plugin_alconna import UniMessage
from konabot.common.longtask import (
# DepLongTaskTarget,
# LongTask,
# create_longtask,
# get_long_task_target,
# handle_long_task,
init_longtask,
)
@ -45,6 +43,5 @@ async def _():
# handler="test_callback_001",
# data={},
# target=target,
# deadline=datetime.datetime.now() + datetime.timedelta(seconds=2),
# deadline=datetime.datetime.now() + datetime.timedelta(seconds=20),
# )
# await target.send_message(UniMessage().text("Hello, world!"), at=True)