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);
|
for (const t of bekleyen) devamEden.add(t.ikn);
|
||||||
const parcalar = [];
|
const parcalar = [];
|
||||||
for (let i = 0; i < bekleyen.length; i += 6) parcalar.push(bekleyen.slice(i, i + 6));
|
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 () => {
|
const is = (async () => {
|
||||||
for (const parca of parcalar) {
|
const kuyruk = [...parcalar];
|
||||||
try { await parcayiCevir(parca); } catch (e) { console.warn('[ted-ceviri] parça atlandı:', e.message); }
|
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))]);
|
await Promise.race([is, new Promise((r) => setTimeout(r, blockMs))]);
|
||||||
return tenders.filter((t) => !t.baslikTr).length;
|
return tenders.filter((t) => !t.baslikTr).length;
|
||||||
|
|||||||
Reference in New Issue
Block a user