001project_wildgrowth/backend/scripts/check-latest-book-task.ts

54 lines
1.7 KiB
TypeScript
Raw Normal View History

2026-02-11 15:26:03 +08:00
/**
* course_generation_tasks
* npx ts-node scripts/check-latest-book-task.ts
* backend DATABASE_URL
*/
import 'dotenv/config';
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function main() {
const rows = await prisma.courseGenerationTask.findMany({
orderBy: { createdAt: 'desc' },
take: 5,
select: {
id: true,
courseId: true,
userId: true,
status: true,
progress: true,
errorMessage: true,
currentStep: true,
sourceText: true,
createdAt: true,
updatedAt: true,
course: { select: { title: true, totalNodes: true } },
},
});
console.log('\n========== 最新 5 条书籍解析任务 ==========\n');
for (let i = 0; i < rows.length; i++) {
const t = rows[i];
const len = typeof t.sourceText === 'string' ? t.sourceText.length : 0;
console.log(`--- 任务 ${i + 1} ---`);
console.log(' id: ', t.id);
console.log(' courseId: ', t.courseId);
console.log(' course.title:', (t.course as any)?.title ?? '-');
console.log(' status: ', t.status);
console.log(' progress: ', t.progress);
console.log(' currentStep:', t.currentStep ?? '-');
console.log(' errorMessage:', t.errorMessage ?? '-');
console.log(' sourceText 长度:', len);
console.log(' createdAt: ', t.createdAt);
console.log(' updatedAt: ', t.updatedAt);
console.log('');
}
console.log('==========================================\n');
}
main()
.catch((e) => { console.error(e); process.exit(1); })
.finally(() => prisma.$disconnect());