mirror of
https://github.com/Nezumi-2711/astrbot_plugin_qq_group_daily_analysis.git
synced 2026-09-22 20:01:04 +00:00
fix(terminate): 解决插件卸载/重载时因 schedule_jobs(None) 调用导致的 NoneType 报错,完善资源清理流程。
This commit is contained in:
@@ -241,7 +241,7 @@ class GroupDailyAnalysis(Star):
|
|||||||
# 2. 停止各个组件
|
# 2. 停止各个组件
|
||||||
if self.auto_scheduler:
|
if self.auto_scheduler:
|
||||||
logger.info("正在停止自动调度器...")
|
logger.info("正在停止自动调度器...")
|
||||||
self.auto_scheduler.schedule_jobs(None) # type: ignore
|
self.auto_scheduler.unschedule_jobs(self.context)
|
||||||
|
|
||||||
if self.retry_manager:
|
if self.retry_manager:
|
||||||
await self.retry_manager.stop()
|
await self.retry_manager.stop()
|
||||||
|
|||||||
@@ -269,7 +269,13 @@ class AutoScheduler:
|
|||||||
|
|
||||||
def unschedule_jobs(self, context):
|
def unschedule_jobs(self, context):
|
||||||
"""取消定时任务"""
|
"""取消定时任务"""
|
||||||
|
if not context or not hasattr(context, "cron_manager") or not context.cron_manager:
|
||||||
|
return
|
||||||
|
|
||||||
scheduler = context.cron_manager.scheduler
|
scheduler = context.cron_manager.scheduler
|
||||||
|
if not scheduler:
|
||||||
|
return
|
||||||
|
|
||||||
for job_id in self.scheduler_job_ids:
|
for job_id in self.scheduler_job_ids:
|
||||||
try:
|
try:
|
||||||
if scheduler.get_job(job_id):
|
if scheduler.get_job(job_id):
|
||||||
|
|||||||
Reference in New Issue
Block a user