Open touv opened 1 month ago
Le problème demande peut-être à être précisé pour pouvoir le reproduire
Ce problème ne me semble pas limité au classifieur HAL, même si je ne saurais préciser pour quel autre service web cela arrive aussi, mais c'est un comportement dont se sont déjà plaints les utilisateurs (sans doute pour d'autres services).
Je me demande si cela n'arrive pas simplement quand le script python ne renvoie aucun document correspondant à un id
.
Un exemple de donnée provoquant ce comportement serait apprécié
Après plusieurs essais, j'ai réussi à reproduire le comportement, en faisant des lots suffisamment gros pour que le service réponde en plus de 50 secondes.
En utilisant curl pour envoyer de gros lots (plus de 100 abstracts), j'ai eu cette erreur:
<html><body><h1>504 Gateway Time-out</h1>
The server didn't respond in time.
</body></html>
Au bout de 50 secondes pile.
En utilisant le script suivant (dérivé du script d'enrichissement généré par lodex):
# load some plugins to activate some statements (URL Connect)
[use]
plugin = basics
[JSONParse]
# Toggle ezs traces (see server stderr log)
[debug]
ezs = true
# Group values to build a request for the webservice
[expand]
size = 10
path = value
# Uncomment to see each data sent to the webservice
#[expand/debug]
# Send the request to the webservice
[expand/URLConnect]
url = https://astro-ner.services.istex.fr/v1/tagger
timeout = 3600000
noerror = false
retries = 5
[dump]
indent = true
Tout se passe bien. On récupère aussi l'information du temps passé dans URLConnect
: environ 13 secondes par requête.
En changeant le paramètre size
de expand
à 40, tout se passe bien (au moment du test).
En le mettant à 80, le debug me signale que URLConnect
fait des retries (3, en général), et finit par renvoyer les abstracts complets.
Voilà le fichier de test: test_astro_value.json
Commande à lancer: cat test_astro_value.json| time npx ezs enrich.ini
.
https://services.istex.fr/classification-dans-les-domaines-hal/
Il semblerait que sur un lot de résumés, le web service retourne pour quelques cas la valeur d'entrée et non une classification.