Bonjour, je rencontre ce matin un petit souci. Cela faisait qq temps que je n’avais pas modifié mes plugins et donc pas de traduction automatique. Est ce dû à deepl (voir la phrase « DeepL servers are currently experiencing high load ») ?
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/home/runner/work/_actions/Mips2648/plugins-translations/main/plugintranslations/__main__.py", line 4, in <module>
PluginTranslator().start()
File "/home/runner/work/_actions/Mips2648/plugins-translations/main/plugintranslations/translator.py", line 93, in start
self.do_translate()
File "/home/runner/work/_actions/Mips2648/plugins-translations/main/plugintranslations/translator.py", line 234, in do_translate
tr = self.transalte_with_deepl(prompt.get_text(), target_language)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/_actions/Mips2648/plugins-translations/main/plugintranslations/translator.py", line 269, in transalte_with_deepl
result = self.__deepl_translator.translate_text(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/deepl/translator.py", line 474, in translate_text
self._raise_for_status(status, content, json)
File "/opt/hostedtoolcache/Python/3.12.11/x64/lib/python3.12/site-packages/deepl/translator.py", line 209, in _raise_for_status
raise TooManyRequestsException(
deepl.exceptions.TooManyRequestsException: Too many requests, DeepL servers are currently experiencing high load
Error: Process completed with exit code 1.
je peux voir pour adapter le code et ajouter un throttling des appels mais normalement un « too many request » aurait du être géré par le client d’après leur doc:
This is implemented in all of the official, DeepL-supported client libraries.
Mais ils ont p-e subit une pique et le service n’a pas eu le temps de scale-up:
The service dynamically adjusts to the load on the system. Please wait to stop receiving errors to send more requests again. As the service adapts, you will be able to send increasingly more requests within a given amount of time without encountering errors.
Errors are indicated by standard HTTP status codes. It is important to make sure that your application handles errors in an appropriate way. To that end, please consult the list of expected status code results that are provided with each endpoint’s documentation in the API Reference.
HTTP 429: too many requests. This is an error that you might receive when sending many API requests in a short period of time. Your application should be configured to resend the requests after some delay. Specifically, we recommend implementing retries with exponential backoff. This is implemented in all of the official, DeepL-supported client libraries.
essayes de passer sur la branch dev (@main),
j’ai mis en place un système pour garantir qu’il y a max un appel par 100 millisecondes (chaque 0.1 secondes donc)
Avec dependabot, c’est une autre github action à créer
Je pense qu’il y a un post sur community qui en parlait sinon regardes sur un de mes plugins pour avoir un yaml de base
Ici par exemple:
Dependabot peut aussi s’occuper des dépendances python par exemple, à condition d’avoir un fichier requierments.txt (et donc de ne pas utiliser le système prévu dans le core)
Pour reproduire le pb avec @main j’avais effacé le fichier portugais. Donc j’ai reproduit le pb mais en revenant sur la @v3 j’avais le même problème. J’ai recréé un fichier portugais vide et toujours le même pb. J’ai récupéré le contenu du fichier portugais que j’avais effacé et je l’ai remis dedans et maintenant ça a l’air de fonctionner mais comme il n’y a pas de différence il ne relance pas la traduction. Je vais modifier un texte qq part.
Pour information, j’ai le même soucis aujourd’hui avec un de mes plugins que je suis en train de mettre à jour, en le passant sur la branche béta, j’ai les traductions qui se sont déclenchées (normal), mais impossible d’arrive au bout
Il y a 120 lignes à mettre à jour, et cela se termine systématiquement en erreur (quelle que soit la version utilisée : main, v3, v2.0.1) :
deepl.exceptions.TooManyRequestsException: Too many requests, DeepL servers are currently experiencing high load
Et en terme de conso, on peut pas dire que je le stresse bcp