Files
crawler-plugin/backend-java/scripts/tc_report.json
T

1712 lines
71 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"configs": [
{
"key": "upload-max-retries",
"value": "${AIIMAGE_TRANSIENT_STORAGE_UPLOAD_MAX_RETRIES:3}",
"line": 119,
"source": "application.yml"
},
{
"key": "warn-payload-bytes",
"value": "${AIIMAGE_TRANSIENT_STORAGE_WARN_PAYLOAD_BYTES:5242880}",
"line": 136,
"source": "application.yml"
},
{
"key": "max-payload-bytes",
"value": "${AIIMAGE_TRANSIENT_STORAGE_MAX_PAYLOAD_BYTES:52428800}",
"line": 137,
"source": "application.yml"
},
{
"key": "max-stored-payload-bytes",
"value": "${AIIMAGE_TRANSIENT_STORAGE_MAX_STORED_PAYLOAD_BYTES:52428800}",
"line": 138,
"source": "application.yml"
},
{
"key": "local-temp-dir",
"value": "${AIIMAGE_STORAGE_LOCAL_TEMP_DIR:./data/tmp}",
"line": 146,
"source": "application.yml"
},
{
"key": "source-retention-hours",
"value": "${AIIMAGE_STORAGE_SOURCE_RETENTION_HOURS:24}",
"line": 149,
"source": "application.yml"
},
{
"key": "result-retention-hours",
"value": "${AIIMAGE_STORAGE_RESULT_RETENTION_HOURS:24}",
"line": 150,
"source": "application.yml"
},
{
"key": "transient-payload-retention-hours",
"value": "${AIIMAGE_STORAGE_TRANSIENT_PAYLOAD_RETENTION_HOURS:72}",
"line": 151,
"source": "application.yml"
},
{
"key": "temp-dir",
"value": "",
"line": 152,
"source": "application.yml"
},
{
"key": "retention-hours",
"value": "${AIIMAGE_TEMP_DIR_RETENTION_HOURS:24}",
"line": 153,
"source": "application.yml"
},
{
"key": "retention-days",
"value": "${AIIMAGE_MODULE_CLEANUP_RETENTION_DAYS:7}",
"line": 183,
"source": "application.yml"
},
{
"key": "scope-payload-flush-interval-millis",
"value": "${AIIMAGE_TASK_SCOPE_PAYLOAD_FLUSH_INTERVAL_MILLIS:15000}",
"line": 190,
"source": "application.yml"
},
{
"key": "scope-payload-buffer-retention-hours",
"value": "${AIIMAGE_TASK_SCOPE_PAYLOAD_BUFFER_RETENTION_HOURS:24}",
"line": 191,
"source": "application.yml"
},
{
"key": "scope-payload-recovery-max-files",
"value": "${AIIMAGE_TASK_SCOPE_PAYLOAD_RECOVERY_MAX_FILES:200}",
"line": 192,
"source": "application.yml"
},
{
"key": "scope-payload-cleanup-cron",
"value": "${AIIMAGE_TASK_SCOPE_PAYLOAD_CLEANUP_CRON:15 */30 * * * *}",
"line": 193,
"source": "application.yml"
},
{
"key": "retention-days",
"value": "${AIIMAGE_TASK_IMAGE_CACHE_RETENTION_DAYS:3}",
"line": 197,
"source": "application.yml"
}
],
"cleanup_calls": [
{
"file": "src/main/java/com/nanri/aiimage/config/ModuleCleanupProperties.java",
"line": 10,
"snippet": "@ConfigurationProperties(prefix = \"aiimage.module-cleanup\")"
},
{
"file": "src/main/java/com/nanri/aiimage/config/ModuleCleanupProperties.java",
"line": 11,
"snippet": "public class ModuleCleanupProperties {"
},
{
"file": "src/main/java/com/nanri/aiimage/config/PropertiesConfig.java",
"line": 7,
"snippet": "@EnableConfigurationProperties({OssProperties.class, TransientStorageProperties.class, StorageProper"
},
{
"file": "src/main/java/com/nanri/aiimage/config/StorageProperties.java",
"line": 11,
"snippet": "private String localTempDir;"
},
{
"file": "src/main/java/com/nanri/aiimage/config/StorageProperties.java",
"line": 12,
"snippet": "private boolean cleanupEnabled = true;"
},
{
"file": "src/main/java/com/nanri/aiimage/config/StorageProperties.java",
"line": 13,
"snippet": "private String cleanupCron = \"0 0 * * * *\";"
},
{
"file": "src/main/java/com/nanri/aiimage/config/StorageProperties.java",
"line": 18,
"snippet": "public String getLocalTempDir() {"
},
{
"file": "src/main/java/com/nanri/aiimage/config/StorageProperties.java",
"line": 19,
"snippet": "String configured = localTempDir == null ? \"\" : localTempDir.trim();"
},
{
"file": "src/main/java/com/nanri/aiimage/config/TaskImageCacheCleanupProperties.java",
"line": 7,
"snippet": "@ConfigurationProperties(prefix = \"aiimage.task-image-cache-cleanup\")"
},
{
"file": "src/main/java/com/nanri/aiimage/config/TaskImageCacheCleanupProperties.java",
"line": 8,
"snippet": "public class TaskImageCacheCleanupProperties {"
},
{
"file": "src/main/java/com/nanri/aiimage/config/TaskPressureProperties.java",
"line": 18,
"snippet": "private String scopePayloadCleanupCron = \"15 */30 * * * *\";"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java",
"line": 1163,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(oldPayload, storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java",
"line": 1166,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java",
"line": 1824,
"snippet": "public void cleanupResultFileJob(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java",
"line": 1849,
"snippet": "File outputDir = new File(storageProperties.getLocalTempDir(), \"appearance-patent-result\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java",
"line": 2919,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(scope.getParsedPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java",
"line": 2920,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(scope.getStateJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java",
"line": 2929,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(chunk.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java",
"line": 674,
"snippet": "File outputDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"brand-result\", S"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java",
"line": 725,
"snippet": "cleanupBrandResultTempFiles(outputEntries, outputDir);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java",
"line": 822,
"snippet": "File downloadDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"brand-source-d"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java",
"line": 1097,
"snippet": "File zipDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"brand-result\", Stri"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java",
"line": 1110,
"snippet": "private void cleanupBrandResultTempFiles(List<OutputEntry> entries, File outputDir) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java",
"line": 1129,
"snippet": "File managedDir = FileUtil.file(storageProperties.getLocalTempDir(), \"brand-source-download\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java",
"line": 1142,
"snippet": "FileUtil.del(file);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskStorageService.java",
"line": 75,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(state.getParsedPayloadJson(), parsedJso"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskStorageService.java",
"line": 157,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskStorageService.java",
"line": 162,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskStorageService.java",
"line": 250,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(state.getParsedPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskStorageService.java",
"line": 251,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(state.getStateJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskStorageService.java",
"line": 260,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(chunk.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskStorageService.java",
"line": 301,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(state.getStateJson(), storedAggregate);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskStorageService.java",
"line": 303,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedAggregate);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/collectdata/service/CollectDataExcelAssemblyService.java",
"line": 89,
"snippet": "Files.deleteIfExists(file.toPath());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/collectdata/service/CollectDataService.java",
"line": 827,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/collectdata/service/CollectDataService.java",
"line": 933,
"snippet": "FileUtil.del(xlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/collectdata/service/CollectDataService.java",
"line": 1004,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/collectdata/service/CollectDataService.java",
"line": 1198,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(chunk.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/collectdata/service/CollectDataService.java",
"line": 1215,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(ref.pointer());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/collectdata/service/CollectDataService.java",
"line": 1218,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(item.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/collectdata/util/CollectDataResultItemBatchWriter.java",
"line": 103,
"snippet": "// deletePayloadIfPresent 内部带全局引用计数兜底)。"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/collectdata/util/CollectDataResultItemBatchWriter.java",
"line": 106,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(existing.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/convert/controller/ConvertTemplateController.java",
"line": 70,
"snippet": "convertTemplateService.deleteTemplate(templateCode);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/convert/service/ConvertRunService.java",
"line": 241,
"snippet": "File outputDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"convert-result\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/convert/service/ConvertRunService.java",
"line": 388,
"snippet": "File outputDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"convert-result\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/convert/service/ConvertRunService.java",
"line": 404,
"snippet": "File outputDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"convert-result\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/convert/service/ConvertRunService.java",
"line": 458,
"snippet": "File baseDir = FileUtil.file(storageProperties.getLocalTempDir());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/convert/service/ConvertTemplateService.java",
"line": 79,
"snippet": "public void deleteTemplate(String templateCode) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeRunService.java",
"line": 97,
"snippet": "File outputDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"dedupe-result\"))"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeRunService.java",
"line": 495,
"snippet": "File outputDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"dedupe-result\"))"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeRunService.java",
"line": 572,
"snippet": "File baseDir = FileUtil.file(storageProperties.getLocalTempDir());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeTotalDataService.java",
"line": 410,
"snippet": "cleanupExpiredProgress();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeTotalDataService.java",
"line": 446,
"snippet": "cleanupExpiredProgress();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeTotalDataService.java",
"line": 462,
"snippet": "cleanupExpiredProgress();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeTotalDataService.java",
"line": 498,
"snippet": "cleanupExpiredProgress();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeTotalDataService.java",
"line": 579,
"snippet": "Files.deleteIfExists(file.toPath());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeTotalDataService.java",
"line": 1095,
"snippet": "private void cleanupExpiredProgress() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeTotalDataService.java",
"line": 1097,
"snippet": "cleanupExpiredProgressEntries("
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeTotalDataService.java",
"line": 1099,
"snippet": "cleanupExpiredProgressEntries("
},
{
"file": "src/main/java/com/nanri/aiimage/modules/dedupe/service/DedupeTotalDataService.java",
"line": 1104,
"snippet": "private void cleanupExpiredProgressEntries("
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java",
"line": 1701,
"snippet": "cleanupCompletedTaskDataIfNoPendingFileJobs(task.getId());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java",
"line": 1774,
"snippet": "public void cleanupResultFileJob(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java",
"line": 1782,
"snippet": "cleanupCompletedTaskDataIfNoPendingFileJobs(job.getTaskId());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java",
"line": 1785,
"snippet": "private void cleanupCompletedTaskDataIfNoPendingFileJobs(Long taskId) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java",
"line": 1958,
"snippet": "FileUtil.del(file);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 58,
"snippet": "private static final Duration TEMP_DIR_CLEANUP_LOCK_TTL = Duration.ofMinutes(10);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 85,
"snippet": "private long tempDirRetentionHours;"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 747,
"snippet": "@Scheduled(cron = \"${aiimage.temp-dir.cleanup-cron:15 */30 * * * *}\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 748,
"snippet": "public void cleanupExpiredTempDirs() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 750,
"snippet": "distributedJobLockService.tryLock(\"temp-dir:cleanup\", TEMP_DIR_CLEANUP_LOCK_TTL);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 752,
"snippet": "log.info(\"[temp-dir-cleanup] skip because another instance holds the distributed lock\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 756,
"snippet": "Instant cutoff = Instant.now().minus(Duration.ofHours(Math.max(1L, tempDirRetentionHours)));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 770,
"snippet": "cleanupTempRoot(dirName, cutoff);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 775,
"snippet": "private void cleanupTempRoot(String dirName, Instant cutoff) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 788,
"snippet": "log.info(\"[temp-dir-cleanup] deleted expired temp path dir={} path={}\", dirName, child);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 790,
"snippet": "log.warn(\"[temp-dir-cleanup] delete failed dir={} path={} msg={}\", dirName, child, ex.getMessage());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 794,
"snippet": "log.warn(\"[temp-dir-cleanup] scan failed dir={} msg={}\", dirName, ex.getMessage());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java",
"line": 805,
"snippet": "Files.deleteIfExists(item);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandTaskStorageService.java",
"line": 83,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(existing.getParsedPayloadJson(), parsed"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandTaskStorageService.java",
"line": 194,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(concurrentChunk.getPayloadJson(), store"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandTaskStorageService.java",
"line": 200,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandTaskStorageService.java",
"line": 209,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(existingChunk.getPayloadJson(), storedP"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandTaskStorageService.java",
"line": 266,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(state.getParsedPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandTaskStorageService.java",
"line": 267,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(state.getStateJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandTaskStorageService.java",
"line": 276,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(chunk.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalFileStorageService.java",
"line": 41,
"snippet": "File tempDir = FileUtil.file(storageProperties.getLocalTempDir());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalFileStorageService.java",
"line": 42,
"snippet": "File parentDir = tempDir.getParentFile();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalFileStorageService.java",
"line": 46,
"snippet": "FileUtil.mkdir(tempDir);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalFileStorageService.java",
"line": 50,
"snippet": "File target = FileUtil.file(tempDir, filename);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalFileStorageService.java",
"line": 118,
"snippet": "File baseDir = FileUtil.file(storageProperties.getLocalTempDir());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 19,
"snippet": "public class LocalTempCleanupService {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 35,
"snippet": "@Scheduled(cron = \"${aiimage.storage.cleanup-cron:0 0 */6 * * *}\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 36,
"snippet": "public void cleanupLocalTempDir() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 37,
"snippet": "if (!storageProperties.isCleanupEnabled()) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 40,
"snippet": "File tempDir = FileUtil.file(storageProperties.getLocalTempDir());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 41,
"snippet": "if (!tempDir.exists() || !tempDir.isDirectory()) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 53,
"snippet": "File[] children = tempDir.listFiles();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 61,
"snippet": "if (FileUtil.del(child)) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 68,
"snippet": "deleteEmptyDirectories(child, tempDir);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 73,
"snippet": "deleteEmptyDirectories(child, tempDir);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 76,
"snippet": "log.warn(\"local temp cleanup failed: path={}\", child.getAbsolutePath(), ex);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 81,
"snippet": "log.info(\"local temp cleanup completed: sourceDeleted={}, resultDeleted={}, transientPayloadDeleted="
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 82,
"snippet": "deletedSourceCount, deletedResultCount, deletedTransientPayloadCount, tempDir.getAbsolutePath());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 95,
"snippet": "if (isExpired(file, expireBefore) && isDirectoryEmpty(file) && FileUtil.del(file)) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 100,
"snippet": "if (isExpired(file, expireBefore) && FileUtil.del(file)) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/file/service/LocalTempCleanupService.java",
"line": 109,
"snippet": "if (!FileUtil.del(current)) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/imagevideo/service/ImageVideoArchiveService.java",
"line": 38,
"snippet": "private static final int RETENTION_CLEANUP_BATCH_SIZE = 200;"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/imagevideo/service/ImageVideoArchiveService.java",
"line": 108,
"snippet": "@Scheduled(fixedDelayString = \"${aiimage.image-video.retention-cleanup-delay-ms:600000}\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/imagevideo/service/ImageVideoArchiveService.java",
"line": 109,
"snippet": "public void cleanupExpiredWorkflowTasks() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/imagevideo/service/ImageVideoArchiveService.java",
"line": 116,
"snippet": ".last(\"LIMIT \" + RETENTION_CLEANUP_BATCH_SIZE));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/imagevideo/service/ImageVideoArchiveService.java",
"line": 125,
"snippet": "log.info(\"[image-video] expired workflow task cleanup deleted={} cutoff={}\", deleted, cutoff);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/imagevideo/service/ImageVideoArchiveService.java",
"line": 141,
"snippet": "log.warn(\"[image-video] expired task OSS cleanup failed taskId={} objectKey={} error={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/imagevideo/service/ImageVideoAsyncTaskService.java",
"line": 164,
"snippet": "@Scheduled(fixedDelayString = \"${aiimage.image-video.failed-task-cleanup-delay-ms:60000}\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/imagevideo/service/ImageVideoAsyncTaskService.java",
"line": 165,
"snippet": "public void cleanupFailedTasks() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java",
"line": 484,
"snippet": "cleanupTaskAuxiliaryDataFast(taskId);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java",
"line": 512,
"snippet": "cleanupResultAuxiliaryDataFast(taskId, resultId);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java",
"line": 521,
"snippet": "cleanupResultAuxiliaryDataFast(taskId, resultId);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java",
"line": 536,
"snippet": "cleanupTaskAuxiliaryDataFast(taskId);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java",
"line": 546,
"snippet": "private void cleanupTaskAuxiliaryData(Long taskId) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java",
"line": 552,
"snippet": "private void cleanupTaskAuxiliaryDataFast(Long taskId) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java",
"line": 559,
"snippet": "private void cleanupResultAuxiliaryData(Long taskId, Long resultId) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java",
"line": 564,
"snippet": "private void cleanupResultAuxiliaryDataFast(Long taskId, Long resultId) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java",
"line": 1029,
"snippet": "FileUtil.del(xlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java",
"line": 312,
"snippet": "cleanupTaskCacheIfTerminal(taskId, task.getStatus());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java",
"line": 639,
"snippet": "cleanupTaskCacheIfTerminal(taskId, task.getStatus());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java",
"line": 653,
"snippet": "cleanupTaskCacheIfTerminal(taskId, task.getStatus());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java",
"line": 749,
"snippet": "cleanupTaskCacheIfTerminal(taskId, \"DELETE_EMPTY\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java",
"line": 793,
"snippet": "cn.hutool.core.io.FileUtil.del(xlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java",
"line": 2092,
"snippet": "cleanupTaskCacheIfTerminal(task.getId(), task.getStatus());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java",
"line": 2130,
"snippet": "private void cleanupTaskCacheIfTerminal(Long taskId, String taskStatus) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java",
"line": 288,
"snippet": "cleanupTaskCacheIfTerminal(taskId, \"DELETE_EMPTY\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java",
"line": 367,
"snippet": "cleanupTaskCacheIfTerminal(taskId, \"DELETE_EMPTY\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java",
"line": 420,
"snippet": "cleanupTaskCacheIfTerminal(taskId, task.getStatus());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java",
"line": 833,
"snippet": "FileUtil.del(xlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java",
"line": 834,
"snippet": "FileUtil.del(zip);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java",
"line": 951,
"snippet": "cleanupTaskCacheIfTerminal(task.getId(), task.getStatus());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java",
"line": 954,
"snippet": "private void cleanupTaskCacheIfTerminal(Long taskId, String taskStatus) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 283,
"snippet": "if (committed != null && committed.cleanupAfterCommit()) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 287,
"snippet": "log.warn(\"[publish] failed-task chunk cleanup failed taskId={} msg={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 447,
"snippet": "log.warn(\"[publish] stale task cleanup failed taskId={} msg={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 532,
"snippet": "FileUtil.del(workDirectory);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 549,
"snippet": "log.warn(\"[publish] OSS cleanup failed taskId={} resultId={} msg={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 575,
"snippet": "public void cleanupResultFileJob(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 592,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(chunk.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 610,
"snippet": "log.info(\"[publish] skip uncommitted payload cleanup because it is referenced pointer={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 614,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 616,
"snippet": "log.warn(\"[publish] uncommitted RustFS payload cleanup failed pointer={} msg={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 682,
"snippet": "ensureTaskOwnedByCurrentInstance(task, \"cleanup stale publish task\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 1516,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/publish/service/PublishTaskService.java",
"line": 1917,
"snippet": "private record SubmitResultCommit(boolean cleanupAfterCommit,"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/queryasin/service/QueryAsinTaskService.java",
"line": 988,
"snippet": "FileUtil.del(xlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 158,
"snippet": "cleanupResultChunksQuietly(task.getId(), \"stale task failure\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 690,
"snippet": "// A task deletion is only a frontend task-record cleanup. The daily"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 863,
"snippet": "registerRollbackObjectCleanup(uploadedObjectKeys);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 999,
"snippet": "FileUtil.del(outputXlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 1000,
"snippet": "FileUtil.del(workRoot);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 1350,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 1358,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 1373,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 1598,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 1752,
"snippet": "cleanupResultChunksQuietly(task.getId(), \"terminal task without workbook\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 1942,
"snippet": "FileUtil.del(outputXlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 1943,
"snippet": "FileUtil.del(workRoot);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 2277,
"snippet": "private void registerRollbackObjectCleanup(List<String> uploadedObjectKeys) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 2319,
"snippet": "log.warn(\"[shop-data-crawl] daily object cleanup failed object={} msg={}\", objectKey, safeMessage(ex"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 2421,
"snippet": "public void cleanupResultFileJob(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 2458,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(chunk.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 2470,
"snippet": "private void cleanupResultChunksQuietly(Long taskId, String reason) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 2474,
"snippet": "log.warn(\"[shop-data-crawl] result chunk cleanup failed taskId={} reason={} msg={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 2581,
"snippet": "FileUtil.del(outputXlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 2582,
"snippet": "FileUtil.del(workRoot);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopdatacrawl/service/ShopDataCrawlTaskService.java",
"line": 2844,
"snippet": "cleanupResultChunksQuietly(task.getId(), \"result file job exhausted\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopkey/service/QueryAsinService.java",
"line": 397,
"snippet": "Files.deleteIfExists(file.toPath());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopkey/service/SkipPriceAsinService.java",
"line": 782,
"snippet": "Files.deleteIfExists(file.toPath());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopmatch/service/ShopMatchTaskCacheService.java",
"line": 146,
"snippet": "Files.deleteIfExists(buildTaskEntityFile(taskId));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopmatch/service/ShopMatchTaskCacheService.java",
"line": 152,
"snippet": "Files.deleteIfExists(path);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopmatch/service/ShopMatchTaskCacheService.java",
"line": 163,
"snippet": "Files.deleteIfExists(buildTaskEntityFile(taskId));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopmatch/service/ShopMatchTaskCacheService.java",
"line": 216,
"snippet": "Files.deleteIfExists(file);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/shopmatch/service/ShopMatchTaskService.java",
"line": 790,
"snippet": "FileUtil.del(xlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 788,
"snippet": "// that candidate; cleanup is only safe after a successful transaction"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 791,
"snippet": "cleanupPreparedSubmittedChunkIfUnreferenced(prepared);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 854,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(payload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 1161,
"snippet": "log.info(\"[similar-asin] duplicate chunk inserted concurrently taskId={} scope={} chunk={} cleanupLo"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 1190,
"snippet": "private void cleanupPreparedSubmittedChunkIfUnreferenced(PreparedSubmittedChunk prepared) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 1200,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(prepared.storedPayload());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 1202,
"snippet": "log.warn(\"[similar-asin] cleanup uncommitted chunk payload failed taskId={} chunk={} err={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 1703,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(oldPayload, storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 1706,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 3251,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(pointer);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 3283,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(pointer);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 3868,
"snippet": "public void cleanupResultFileJob(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 3896,
"snippet": "File outputDir = new File(storageProperties.getLocalTempDir(), \"similar-asin-result\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 4076,
"snippet": "File outputDir = new File(storageProperties.getLocalTempDir(), \"similar-asin-result\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 4544,
"snippet": "Path spoolDir = Files.createTempDirectory(xlsx.getParentFile().toPath(), \"similar-asin-images-\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java",
"line": 5409,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(storedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/util/ExcelCellImageWriter.java",
"line": 154,
"snippet": "Files.deleteIfExists(tmp);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/util/SimilarAsinImageEmbedder.java",
"line": 681,
"snippet": "Files.deleteIfExists(path);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/util/SimilarAsinImageEmbedder.java",
"line": 686,
"snippet": "Files.deleteIfExists(path);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/util/SimilarAsinImageEmbedder.java",
"line": 732,
"snippet": "Files.deleteIfExists(temp);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/util/SimilarAsinImageEmbedder.java",
"line": 734,
"snippet": "// Best-effort cleanup of a failed cache write."
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/util/SimilarAsinImageEmbedder.java",
"line": 1286,
"snippet": "Files.deleteIfExists(file);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/util/SimilarAsinImageEmbedder.java",
"line": 1306,
"snippet": "Files.deleteIfExists(path);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/similarasin/util/WpsCellImageWriter.java",
"line": 165,
"snippet": "Files.deleteIfExists(tmp);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/split/service/SplitRunService.java",
"line": 213,
"snippet": "File outputDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"split-result\"));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/split/service/SplitRunService.java",
"line": 362,
"snippet": "File baseDir = FileUtil.file(storageProperties.getLocalTempDir());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/split/service/SplitRunService.java",
"line": 395,
"snippet": "File outputDir = FileUtil.mkdir(FileUtil.file(storageProperties.getLocalTempDir(), \"split-result\"));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/AppearancePatentResultFileJobHandler.java",
"line": 9,
"snippet": "* cleanup 委托 cleanupResultFileJob;支持异步 offloadowner scoped。"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/AppearancePatentResultFileJobHandler.java",
"line": 30,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/AppearancePatentResultFileJobHandler.java",
"line": 31,
"snippet": "appearancePatentTaskService.cleanupResultFileJob(job);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/BrandResultFileJobHandler.java",
"line": 10,
"snippet": "* cleanup 为空(原 cleanupAfterSuccess 无 BRAND 分支)。"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/CollectDataResultFileJobHandler.java",
"line": 8,
"snippet": "* cleanup 为空(原 cleanupAfterSuccess 无 COLLECT_DATA 分支)。"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/DeleteBrandResultFileJobHandler.java",
"line": 29,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/DeleteBrandResultFileJobHandler.java",
"line": 30,
"snippet": "deleteBrandRunService.cleanupResultFileJob(job);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 41,
"snippet": "public class ModuleHistoryCleanupService {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 44,
"snippet": "private static final Duration CLEANUP_LOCK_TTL = Duration.ofHours(2);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 49,
"snippet": "private final ModuleCleanupProperties moduleCleanupProperties;"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 67,
"snippet": "@Value(\"${aiimage.module-cleanup.max-collect-payloads:10000}\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 70,
"snippet": "public ModuleHistoryCleanupService(ModuleCleanupProperties moduleCleanupProperties,"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 83,
"snippet": "this.moduleCleanupProperties = moduleCleanupProperties;"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 102,
"snippet": "@Scheduled(cron = \"${aiimage.module-cleanup.cron:0 0 0 * * *}\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 103,
"snippet": "public void cleanupConfiguredModules() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 105,
"snippet": "distributedJobLockService.tryLock(\"module-history:cleanup\", CLEANUP_LOCK_TTL);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 107,
"snippet": "log.info(\"[module-cleanup] skip because another instance holds the distributed lock\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 111,
"snippet": "if (!moduleCleanupProperties.isEnabled()) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 114,
"snippet": "List<String> moduleTypes = moduleCleanupProperties.getModuleTypes();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 118,
"snippet": "LocalDateTime cutoff = LocalDateTime.now().minusDays(Math.max(0, moduleCleanupProperties.getRetentio"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 119,
"snippet": "int batchSize = moduleCleanupProperties.getBatchSize();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 169,
"snippet": "log.info(\"[module-cleanup] batch: taskIds={}, deletedRows={}, collectedPointers={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 177,
"snippet": "log.warn(\"[module-cleanup] keyset cursor did not advance, abort loop cursor={}\", cursor);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 182,
"snippet": "log.info(\"[module-cleanup] completed: moduleTypes={}, retentionDays={}, cutoff={}, batches={}, delet"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 183,
"snippet": "moduleTypes, moduleCleanupProperties.getRetentionDays(), cutoff,"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 191,
"snippet": "private int deleteRows(List<String> moduleTypes, List<Long> cleanupTaskIds, List<Long> collectDataTa"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 194,
"snippet": ".in(TaskFileJobEntity::getTaskId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 198,
"snippet": ".in(TaskResultItemEntity::getTaskId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 202,
"snippet": ".in(TaskProgressSnapshotEntity::getTaskId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 206,
"snippet": ".in(TaskResultPayloadEntity::getTaskId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 210,
"snippet": ".in(TaskScopeStateEntity::getTaskId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 214,
"snippet": ".in(TaskChunkEntity::getTaskId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 223,
"snippet": ".in(FileResultEntity::getTaskId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 226,
"snippet": ".in(FileTaskEntity::getId, cleanupTaskIds)"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 232,
"snippet": ".in(FileTaskEntity::getId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 260,
"snippet": "private List<String> collectPayloadPointers(List<String> moduleTypes, List<Long> cleanupTaskIds, int"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 264,
"snippet": ".in(TaskChunkEntity::getTaskId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 270,
"snippet": ".in(TaskScopeStateEntity::getTaskId, cleanupTaskIds));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ModuleHistoryCleanupService.java",
"line": 276,
"snippet": "log.warn(\"[module-cleanup] payload pointer collection truncated at max={}\", max);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/PatrolDeleteResultFileJobHandler.java",
"line": 32,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/PriceTrackResultFileJobHandler.java",
"line": 32,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ProductRiskResultFileJobHandler.java",
"line": 32,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/PublishResultFileJobHandler.java",
"line": 8,
"snippet": "* cleanup 委托 PublishTaskService.cleanupResultFileJob(不走 payload.deleteLatest);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/PublishResultFileJobHandler.java",
"line": 31,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/PublishResultFileJobHandler.java",
"line": 32,
"snippet": "publishTaskService.cleanupResultFileJob(job);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/QueryAsinResultFileJobHandler.java",
"line": 32,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ResultFileJobHandler.java",
"line": 10,
"snippet": "* cleanup 在 Job 成功后调用(原 cleanupAfterSuccess 分支);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ResultFileJobHandler.java",
"line": 24,
"snippet": "default void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ShopDataCrawlResultFileJobHandler.java",
"line": 8,
"snippet": "* cleanup 两处:payload.deleteLatest + 服务内 cleanupResultFileJob(原分支语义);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ShopDataCrawlResultFileJobHandler.java",
"line": 34,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ShopDataCrawlResultFileJobHandler.java",
"line": 36,
"snippet": "shopDataCrawlTaskService.cleanupResultFileJob(job);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ShopMatchResultFileJobHandler.java",
"line": 9,
"snippet": "* cleanup 删除该任务最新 payload(原 cleanupAfterSuccess 分支语义)。"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/ShopMatchResultFileJobHandler.java",
"line": 34,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/SimilarAsinResultFileJobHandler.java",
"line": 30,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/SimilarAsinResultFileJobHandler.java",
"line": 31,
"snippet": "similarAsinTaskService.cleanupResultFileJob(job);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 17,
"snippet": "public class TaskImageCacheCleanupService {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 19,
"snippet": "private static final Duration CLEANUP_LOCK_TTL = Duration.ofMinutes(30);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 22,
"snippet": "private final TaskImageCacheCleanupProperties cleanupProperties;"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 25,
"snippet": "@Scheduled(cron = \"${aiimage.task-image-cache-cleanup.cron:0 30 2 * * *}\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 26,
"snippet": "public void cleanupExpiredImageCache() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 27,
"snippet": "if (!cleanupProperties.isEnabled()) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 31,
"snippet": "distributedJobLockService.tryLock(\"task-image-cache:cleanup\", CLEANUP_LOCK_TTL);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 33,
"snippet": "log.info(\"[task-image-cache-cleanup] skip because another instance holds the distributed lock\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 37,
"snippet": "int retentionDays = Math.max(1, cleanupProperties.getRetentionDays());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 38,
"snippet": "int batchSize = Math.max(1, cleanupProperties.getBatchSize());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 39,
"snippet": "int maxBatches = Math.max(1, cleanupProperties.getMaxBatchesPerRun());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 51,
"snippet": "if (!lockHandle.renew(CLEANUP_LOCK_TTL)) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 52,
"snippet": "log.warn(\"[task-image-cache-cleanup] stop because lock renew failed deletedTotal={} batches={}\","
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 61,
"snippet": "long maxBytes = cleanupProperties.getMaxBytes();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 62,
"snippet": "long targetBytes = cleanupProperties.getTargetBytes();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 81,
"snippet": "if (!lockHandle.renew(CLEANUP_LOCK_TTL)) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 82,
"snippet": "log.warn(\"[task-image-cache-cleanup] stop capacity cleanup because lock renew failed deletedTotal={}"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 94,
"snippet": "log.info(\"[task-image-cache-cleanup] finished cutoff={} retentionDays={} expiredDeleted={} expiredBa"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskImageCacheCleanupService.java",
"line": 99,
"snippet": "log.warn(\"[task-image-cache-cleanup] failed msg={}\", ex.getMessage(), ex);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskResultFileJobWorker.java",
"line": 225,
"snippet": "cleanupAfterSuccess(job);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskResultFileJobWorker.java",
"line": 351,
"snippet": "private void cleanupAfterSuccess(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskResultFileJobWorker.java",
"line": 354,
"snippet": "handler.cleanup(job);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskResultItemService.java",
"line": 109,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(row.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskResultItemService.java",
"line": 140,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(row.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskResultItemService.java",
"line": 206,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(storedPayload, existing.getPayloadJson("
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskResultItemService.java",
"line": 209,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(existing.getPayloadJson(), storedPayloa"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskResultPayloadService.java",
"line": 64,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(existing.getPayloadJson(), storedPayloa"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskResultPayloadService.java",
"line": 99,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(existing.getPayloadJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 27,
"snippet": "private static final Duration CLEANUP_LOCK_TTL = Duration.ofMinutes(10);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 57,
"snippet": "Files.deleteIfExists(file);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 73,
"snippet": "@Scheduled(cron = \"${aiimage.task-pressure.scope-payload-cleanup-cron:15 */30 * * * *}\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 74,
"snippet": "public void cleanupExpiredBufferedPayloads() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 76,
"snippet": "distributedJobLockService.tryLock(\"task-scope-buffer:cleanup\", CLEANUP_LOCK_TTL);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 78,
"snippet": "log.info(\"[task-scope-buffer] skip cleanup because another instance holds the lock\");"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 94,
"snippet": "Files.deleteIfExists(file);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 98,
"snippet": "log.warn(\"[task-scope-buffer] cleanup failed path={} msg={}\", file, ex.getMessage());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 102,
"snippet": "log.info(\"[task-scope-buffer] cleanup finished deleted={} root={}\", deleted, root);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadBufferMaintenanceService.java",
"line": 163,
"snippet": "Files.deleteIfExists(current);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadStorageService.java",
"line": 54,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(replacedPayload, stateJson);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadStorageService.java",
"line": 67,
"snippet": "log.warn(\"[task-scope-payload] skip failed-save cleanup because reference check failed taskId={} mod"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadStorageService.java",
"line": 71,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(uploadedPayload);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadStorageService.java",
"line": 84,
"snippet": "log.warn(\"[task-scope-payload] skip failed-save cleanup because current state pointer is unreadable "
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadStorageService.java",
"line": 184,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(state.getStateJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadStorageService.java",
"line": 233,
"snippet": "transientPayloadStorageService.deletePayloadIfPresent(state.getStateJson());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TaskScopePayloadStorageService.java",
"line": 294,
"snippet": "transientPayloadStorageService.deleteReplacedPayloadIfNeeded(state.getParsedPayloadJson(), storedPar"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java",
"line": 86,
"snippet": "&& (rustfsObjectStorageService.isConfigured() || storageProperties.getLocalTempDir() != null);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java",
"line": 165,
"snippet": "public void deletePayloadIfPresent(String value) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java",
"line": 203,
"snippet": "* 老路径 caller 把自己那行覆盖/删除后立即调用 {@link #deletePayloadIfPresent}"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java",
"line": 265,
"snippet": "deletePayloadIfPresent(oldPointer);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java",
"line": 526,
"snippet": "Files.deleteIfExists(resolveLocalPayloadPath(objectKey));"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java",
"line": 542,
"snippet": "String configuredRoot = storageProperties.getLocalTempDir();"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/WithdrawResultFileJobHandler.java",
"line": 9,
"snippet": "* cleanup 走 payload.deleteLatest。"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/service/WithdrawResultFileJobHandler.java",
"line": 42,
"snippet": "public void cleanup(TaskFileJobEntity job) {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/util/TaskEntityLocalCache.java",
"line": 88,
"snippet": "@Scheduled(fixedDelayString = \"${aiimage.task-pressure.local-task-entity-cache-cleanup-delay-ms:6000"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/task/util/TaskEntityLocalCache.java",
"line": 89,
"snippet": "public void cleanup() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/withdraw/service/WithdrawTaskService.java",
"line": 432,
"snippet": "FileUtil.del(xlsx);"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/ziniao/memory/service/ZiniaoTransientCacheService.java",
"line": 92,
"snippet": "cleanupExpiredEntries(LocalDateTime.now());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/ziniao/memory/service/ZiniaoTransientCacheService.java",
"line": 121,
"snippet": "@Scheduled(fixedDelayString = \"${aiimage.ziniao.transient-cache-cleanup-delay-ms:60000}\")"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/ziniao/memory/service/ZiniaoTransientCacheService.java",
"line": 122,
"snippet": "void cleanupExpiredEntriesScheduled() {"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/ziniao/memory/service/ZiniaoTransientCacheService.java",
"line": 123,
"snippet": "cleanupExpiredEntries(LocalDateTime.now());"
},
{
"file": "src/main/java/com/nanri/aiimage/modules/ziniao/memory/service/ZiniaoTransientCacheService.java",
"line": 127,
"snippet": "private void cleanupExpiredEntries(LocalDateTime now) {"
}
]
}