mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 21:13:50 +00:00
perf: 5进程同时进行
This commit is contained in:
@@ -11,9 +11,17 @@ import { VecModelDataPrefix } from '@/constants/redis';
|
||||
import { customAlphabet } from 'nanoid';
|
||||
const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz1234567890', 12);
|
||||
|
||||
export async function generateQA(next = false): Promise<any> {
|
||||
if (global.generatingQA && !next) return;
|
||||
global.generatingQA = true;
|
||||
export async function generateQA(): Promise<any> {
|
||||
// 最多 5 个进程
|
||||
if (global.generatingQA >= 5) {
|
||||
console.log('QA 最多5个进程');
|
||||
return;
|
||||
}
|
||||
global.generatingQA += 1;
|
||||
|
||||
setTimeout(() => {
|
||||
generateQA();
|
||||
}, 3000);
|
||||
|
||||
try {
|
||||
const redis = await connectRedis();
|
||||
@@ -24,7 +32,7 @@ export async function generateQA(next = false): Promise<any> {
|
||||
|
||||
if (!dataItem) {
|
||||
console.log('没有需要生成 QA 的数据');
|
||||
global.generatingQA = false;
|
||||
global.generatingQA = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -128,16 +136,17 @@ export async function generateQA(next = false): Promise<any> {
|
||||
text: systemPrompt.content + text + response.rawContent
|
||||
});
|
||||
|
||||
generateQA(true);
|
||||
generateQA();
|
||||
generateVector(true);
|
||||
} catch (error: any) {
|
||||
console.log(error);
|
||||
console.log('生成QA错误:', error?.response);
|
||||
|
||||
setTimeout(() => {
|
||||
generateQA(true);
|
||||
generateQA();
|
||||
}, 5000);
|
||||
}
|
||||
global.generatingQA--;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -27,6 +27,7 @@ export async function connectToDatabase(): Promise<void> {
|
||||
global.mongodb = null;
|
||||
}
|
||||
|
||||
global.generatingQA = 0;
|
||||
generateQA();
|
||||
// generateAbstract();
|
||||
generateVector();
|
||||
|
@@ -34,7 +34,7 @@ export const sendCode = (email: string, code: string, type: `${EmailTypeEnum}`)
|
||||
};
|
||||
mailTransport.sendMail(options, function (err, msg) {
|
||||
if (err) {
|
||||
console.log('error->', err);
|
||||
console.log('send email error->', err);
|
||||
reject('邮箱异常');
|
||||
} else {
|
||||
resolve('');
|
||||
@@ -53,7 +53,7 @@ export const sendTrainSucceed = (email: string, modelName: string) => {
|
||||
};
|
||||
mailTransport.sendMail(options, function (err, msg) {
|
||||
if (err) {
|
||||
console.log('error->', err);
|
||||
console.log('send email error->', err);
|
||||
reject('邮箱异常');
|
||||
} else {
|
||||
resolve('');
|
||||
|
2
src/types/index.d.ts
vendored
2
src/types/index.d.ts
vendored
@@ -4,7 +4,7 @@ import type { RedisClientType } from 'redis';
|
||||
declare global {
|
||||
var mongodb: Mongoose | string | null;
|
||||
var redisClient: RedisClientType | null;
|
||||
var generatingQA: boolean;
|
||||
var generatingQA: number;
|
||||
var generatingAbstract: boolean;
|
||||
var generatingVector: boolean;
|
||||
var QRCode: any;
|
||||
|
Reference in New Issue
Block a user