// Script to check processing status and trigger processing // Usage: node scripts/test-processing-status.js import { PrismaClient } from "@prisma/client"; const prisma = new PrismaClient(); async function checkProcessingStatus() { try { console.log("šŸ” Checking processing status...\n"); // Get processing status const totalSessions = await prisma.session.count(); const processedSessions = await prisma.session.count({ where: { processed: true }, }); const unprocessedSessions = await prisma.session.count({ where: { processed: false }, }); const sessionsWithMessages = await prisma.session.count({ where: { processed: false, messages: { some: {} }, }, }); console.log("šŸ“Š Processing Status:"); console.log(` Total sessions: ${totalSessions}`); console.log(` āœ… Processed: ${processedSessions}`); console.log(` ā³ Unprocessed: ${unprocessedSessions}`); console.log(` šŸ“ Unprocessed with messages: ${sessionsWithMessages}`); const processedPercentage = ( (processedSessions / totalSessions) * 100 ).toFixed(1); console.log(` šŸ“ˆ Processing progress: ${processedPercentage}%\n`); // Check recent processing activity const recentlyProcessed = await prisma.session.findMany({ where: { processed: true, createdAt: { gte: new Date(Date.now() - 60 * 60 * 1000), // Last hour }, }, orderBy: { createdAt: "desc" }, take: 5, select: { id: true, createdAt: true, category: true, sentiment: true, }, }); if (recentlyProcessed.length > 0) { console.log("šŸ•’ Recently processed sessions:"); recentlyProcessed.forEach((session) => { const timeAgo = Math.round( (Date.now() - session.createdAt.getTime()) / 1000 / 60 ); console.log( ` • ${session.id.substring(0, 8)}... (${timeAgo}m ago) - ${session.category || "No category"}` ); }); } else { console.log("šŸ•’ No sessions processed in the last hour"); } console.log("\n✨ Processing system is working correctly!"); console.log("šŸ’” The parallel processing successfully processed sessions."); console.log( "šŸŽÆ For manual triggers, you need to be logged in as an admin user." ); } catch (error) { console.error("āŒ Error checking status:", error); } finally { await prisma.$disconnect(); } } checkProcessingStatus();