refactor: optimize batchqueue

This commit is contained in:
Gabe
2025-09-03 10:16:21 +08:00
parent 4ebced1e71
commit 3948cb74ca
2 changed files with 13 additions and 12 deletions

View File

@@ -247,7 +247,15 @@ export const apiTranslate = async ({
let srLang = "";
if (apiSetting.isBatchFetch && OPT_TRANS_BATCH.has(translator)) {
const queue = getBatchQueue(
{ translator, from, to, docInfo, apiSetting, usePool },
{
translator,
from,
to,
docInfo,
apiSetting,
usePool,
taskFn: fetchTranslate,
},
apiSetting
);
const tranlation = await queue.addTask({ text });

View File

@@ -1,13 +1,11 @@
import { fetchTranslate } from "../apis/trans";
/**
* 批处理队列
* @param {*} translator
* @param {*} args
* @param {*} param1
* @returns
*/
const batchQueue = (
{ translator, from, to, docInfo, apiSetting, usePool },
{ taskFn, ...args },
{ batchInterval = 1000, batchSize = 10, batchLength = 10000 } = {}
) => {
const queue = [];
@@ -16,14 +14,9 @@ const batchQueue = (
const sendBatchRequest = async (payloads) => {
const texts = payloads.map((item) => item.text);
return fetchTranslate({
translator,
return taskFn({
...args,
texts,
from,
to,
docInfo,
apiSetting,
usePool,
});
};