TED çevirisi: parçalar 3'lü eşzamanlı — 30 ilanlık liste daha hızlı tamamlanır
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -116,10 +116,16 @@ export async function tedCevir(tenders, { blockMs = 12000 } = {}) {
|
||||
for (const t of bekleyen) devamEden.add(t.ikn);
|
||||
const parcalar = [];
|
||||
for (let i = 0; i < bekleyen.length; i += 6) parcalar.push(bekleyen.slice(i, i + 6));
|
||||
// Parçalar 3'lü eşzamanlı işlenir: 30 ilanlık liste ~5 yerine ~2 model turunda biter.
|
||||
const is = (async () => {
|
||||
for (const parca of parcalar) {
|
||||
try { await parcayiCevir(parca); } catch (e) { console.warn('[ted-ceviri] parça atlandı:', e.message); }
|
||||
}
|
||||
const kuyruk = [...parcalar];
|
||||
const isci = async () => {
|
||||
while (kuyruk.length) {
|
||||
const parca = kuyruk.shift();
|
||||
try { await parcayiCevir(parca); } catch (e) { console.warn('[ted-ceviri] parça atlandı:', e.message); }
|
||||
}
|
||||
};
|
||||
await Promise.all(Array.from({ length: Math.min(3, parcalar.length) }, isci));
|
||||
})();
|
||||
await Promise.race([is, new Promise((r) => setTimeout(r, blockMs))]);
|
||||
return tenders.filter((t) => !t.baslikTr).length;
|
||||
|
||||
Reference in New Issue
Block a user