| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- const fs = require('fs');
- const file = 'src/modules/book-generator/langgraph-controller.ts';
- let content = fs.readFileSync(file, 'utf8');
- // 替换第1处:创建书籍
- content = content.replace(
- ` // 启动 LangGraph 生成(异步,自动完成:大纲→章节→前言/后记)
- langGraphGenerator.generate(
- book.id,
- body.description,
- bookScale
- ).catch(err => {
- console.error('[LangGraph] 生成失败:', err);
- });`,
- ` // 将生成任务加入队列(由队列处理器异步执行)
- const jobId = await queueService.addBookGenerationTask({
- bookId: book.id,
- topic: body.description,
- bookScale,
- });
-
- console.log(\`[LangGraph] 生成任务已加入队列: bookId=\${book.id}, jobId=\${jobId}\`);`
- );
- // 替换第2处:重新生成
- content = content.replace(
- ` // 启动 LangGraph 生成
- langGraphGenerator.generate(
- bookId,
- book.description,
- bookScale
- ).catch(err => {
- console.error('[LangGraph] 生成失败:', err);
- });`,
- ` // 将生成任务加入队列
- const jobId = await queueService.addBookGenerationTask({
- bookId,
- topic: book.description,
- bookScale,
- });
-
- console.log(\`[LangGraph] 重新生成任务已加入队列: bookId=\${bookId}, jobId=\${jobId}\`);`
- );
- // 替换第3处:续生成
- content = content.replace(
- ` // 重新启动生成(只生成 pending 状态的小节)
- langGraphGenerator.generate(
- bookId,
- book.description || book.title,
- book.bookScale || '标准教程'
- ).catch(err => {
- console.error('[LangGraph] 续生成失败:', err);
- });`,
- ` // 将续生成任务加入队列
- const jobId = await queueService.addBookGenerationTask({
- bookId,
- topic: book.description || book.title,
- bookScale: book.bookScale || '标准教程',
- });
-
- console.log(\`[LangGraph] 续生成任务已加入队列: bookId=\${bookId}, jobId=\${jobId}\`);`
- );
- fs.writeFileSync(file, content, 'utf8');
- console.log('✅ 控制器已改为使用队列');
|