fix: ajouter un timeout DeepL et isoler les échecs par langue

This commit is contained in:
2026-07-04 09:47:26 +04:00
parent ddb6d3f2f0
commit 36917d79b4
2 changed files with 68 additions and 3 deletions
+8 -3
View File
@@ -64,7 +64,8 @@ class Translator {
text: Array.isArray(text) ? text : [text],
source_lang: origin,
target_lang: target,
})
}),
signal: AbortSignal.timeout(15_000)
})
if (!response.ok) {
@@ -90,8 +91,12 @@ module.exports = createCoreService('api::parole.parole', ({strapi}) => ({
for (const lang of ALL_LANGS) {
if (lang === 'fr') continue
const { field, deeplTarget, suffix } = LANG_MAP[lang]
const translated = await this.translate('FR', deeplTarget, parolesFR)
result[field] = translated + suffix
try {
const translated = await this.translate('FR', deeplTarget, parolesFR)
result[field] = translated + suffix
} catch (err) {
strapi.log.error(`DeepL (${deeplTarget}): ${err.message}`)
}
}
return result