|
@@ -182,6 +182,13 @@ export class SchedulerService {
|
|
|
const errorsCleaned = this.database.cleanupQdrantErrors(thirtyDaysAgo.toISOString());
|
|
const errorsCleaned = this.database.cleanupQdrantErrors(thirtyDaysAgo.toISOString());
|
|
|
logger.debug(`Cleaned up ${errorsCleaned} old error records`);
|
|
logger.debug(`Cleaned up ${errorsCleaned} old error records`);
|
|
|
|
|
|
|
|
|
|
+ // Delegate Qdrant-specific work (process deletion queue items past their
|
|
|
|
|
+ // delay, prune orphan points, archive MCP logs, etc.). The scheduler used
|
|
|
|
|
+ // to skip this entirely, so manual triggers via POST /api/qdrant/cleanup
|
|
|
|
|
+ // were silently a no-op for orphan points.
|
|
|
|
|
+ const qdrantStats = await this.cleanupService.performCleanup();
|
|
|
|
|
+ logger.info('Qdrant cleanup stats:', qdrantStats);
|
|
|
|
|
+
|
|
|
// Update last cleanup time
|
|
// Update last cleanup time
|
|
|
this.updateLastTaskTime('cleanup');
|
|
this.updateLastTaskTime('cleanup');
|
|
|
|
|
|