monitor-progress.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. const { PrismaClient } = require('@prisma/client');
  2. const prisma = new PrismaClient();
  3. async function monitorProgress() {
  4. console.log('开始监控书籍 #2 生成进度...\n');
  5. for (let i = 0; i < 60; i++) {
  6. const book = await prisma.book.findUnique({
  7. where: { id: 2 },
  8. include: { chapters: true }
  9. });
  10. if (!book) {
  11. console.log('书籍不存在');
  12. break;
  13. }
  14. const level1 = book.chapters.filter(c => c.level === 1).length;
  15. const level2 = book.chapters.filter(c => c.level === 2).length;
  16. const level3 = book.chapters.filter(c => c.level === 3).length;
  17. console.log(`[${new Date().toLocaleTimeString()}] 状态: ${book.status} | 进度: ${book.progress}% | 章: ${level1} | 节: ${level2} | 小节: ${level3}`);
  18. if (book.status === 'completed' || book.status === 'failed') {
  19. console.log('\n✅ 生成完成!');
  20. console.log('最终状态:', book.status);
  21. console.log('最终进度:', book.progress + '%');
  22. console.log('章节统计:', { level1, level2, level3, total: book.chapters.length });
  23. break;
  24. }
  25. await new Promise(resolve => setTimeout(resolve, 5000));
  26. }
  27. await prisma.$disconnect();
  28. }
  29. monitorProgress().catch(console.error);