package cn.iocoder.yudao.module.mes.job.pro; import cn.iocoder.yudao.module.mes.service.pro.qrexport.MesProQrExportTaskService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** * 二维码导出临时文件清理 *
* 大批量导出的临时 ZIP 可达上 GB,正常下载完成后即删,本任务只兜底两类残留: *
* 进程重启后运行态注册表为空,此时表中的非终态记录必定没有执行线程在推进, * 立刻回收可避免它们以「生成中」的状态一直挂在界面上(否则要等到下一次定时清理)。 */ @EventListener(ApplicationReadyEvent.class) public void recycleOnStartup() { try { int tasks = taskService.recycleStaleTasks(); if (tasks > 0) { log.info("[recycleOnStartup][启动回收残留二维码导出任务 {} 个]", tasks); } } catch (Exception e) { log.error("[recycleOnStartup][启动回收二维码导出任务失败]", e); } } }