fix: ajouter un timeout DeepL et isoler les échecs par langue
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user