modify-controller.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. const fs = require('fs');
  2. const file = 'src/modules/book-generator/langgraph-controller.ts';
  3. let content = fs.readFileSync(file, 'utf8');
  4. // 1. 添加 queueService 导入
  5. content = content.replace(
  6. "import { langGraphGenerator, getScaleConfig } from './langgraph-generator';",
  7. `import { langGraphGenerator, getScaleConfig } from './langgraph-generator';
  8. import { queueService, QueueType } from '../../services/queue.service';`
  9. );
  10. // 2. 修改书籍创建接口,使用队列
  11. content = content.replace(
  12. ` // 启动 LangGraph 生成(异步,自动完成:大纲→章节→前言/后记)
  13. langGraphGenerator.generate(
  14. book.id,
  15. body.description,
  16. bookScale
  17. ).catch(err => {
  18. console.error('[LangGraph] 生成失败:', err);
  19. });`,
  20. ` // 将生成任务加入队列(由队列处理器异步执行)
  21. const jobId = await queueService.addBookGenerationTask({
  22. bookId: book.id,
  23. topic: body.description,
  24. bookScale,
  25. });
  26. console.log(\`[LangGraph] 生成任务已加入队列: bookId=\${book.id}, jobId=\${jobId}\`);`
  27. );
  28. fs.writeFileSync(file, content, 'utf8');
  29. console.log('✅ 控制器已修改为使用队列');