| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- const { PrismaClient } = require('@prisma/client');
- const prisma = new PrismaClient();
- async function monitor() {
- console.log('开始监控书籍 #3 生成进度...\n');
-
- for (let i = 0; i < 120; i++) {
- const book = await prisma.book.findUnique({
- where: { id: 3 },
- include: { chapters: true }
- });
-
- if (!book) {
- console.log('书籍不存在');
- break;
- }
-
- const level1 = book.chapters.filter(c => c.level === 1).length;
- const level2 = book.chapters.filter(c => c.level === 2).length;
- const level3 = book.chapters.filter(c => c.level === 3).length;
-
- console.log(`[${new Date().toLocaleTimeString()}] 状态: ${book.status.padEnd(12)} | 进度: ${book.progress.toString().padStart(3)}% | 章: ${level1} | 节: ${level2} | 小节: ${level3} | 总计: ${book.chapters.length}`);
-
- if (book.status === 'completed' || book.status === 'failed') {
- console.log('\n' + '='.repeat(80));
- console.log('✅ 生成完成!');
- console.log('='.repeat(80));
- console.log('最终状态:', book.status);
- console.log('最终进度:', book.progress + '%');
- console.log('章节统计:', { level1, level2, level3, total: book.chapters.length });
-
- if (level1 > 0) {
- console.log('\n章节结构:');
- book.chapters.filter(c => c.level === 1).forEach(c => {
- console.log(` 第${c.number}章: ${c.title} [${c.status}] (ID:${c.id})`);
- const sections = book.chapters.filter(s => s.parentId === c.id);
- sections.forEach(s => {
- console.log(` 第${s.number}节: ${s.title} [${s.status}] (ID:${s.id})`);
- const subsections = book.chapters.filter(ss => ss.parentId === s.id);
- subsections.forEach(ss => {
- console.log(` 第${ss.number}小节: ${ss.title} [${ss.status}]`);
- });
- });
- });
- }
- break;
- }
-
- await new Promise(resolve => setTimeout(resolve, 3000));
- }
-
- await prisma.$disconnect();
- }
- monitor().catch(console.error);
|