mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-16 03:39:04 +02:00
Depuis le passage au serveur Rust, la mise à jour réseau d'un fournisseur (ex. Sovacom) échouait sur « Request timed out » : chromiumoxide coupe toute commande de page au bout de 30 s, en dur (REQUEST_TIMEOUT de CommandFuture), sans tenir compte du request_timeout du navigateur. Or toute l'extraction Qlik tient dans un seul Runtime.evaluate de plusieurs minutes. Playwright, côté TS, n'avait pas cette limite. PageQlik::evaluer lance désormais le script sans l'attendre, puis relève son résultat par des évaluations courtes (20 ms → 1 s). Aucune commande CDP n'approche plus les 30 s, quelle que soit la durée de l'extraction ; la recherche produit, qui passe par la même fonction, en profite aussi. Tests : - tests/faux-qlik : faux Qlik Sense (HTTPS, NTLM → ticket → cookie, page avec jeton CSRF, mini-moteur Engine) ; - extraction_faux_qlik (ignoré par défaut) : extraction complète de bout en bout avec un vrai Chromium, y compris contre celui de l'image de prod ; - fenetre_identique_au_ts : fenêtre 12 mois identique à l'ancien TS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DTseDg4hw2m9tGUJsqPt57
18 lines
871 B
Bash
Executable File
18 lines
871 B
Bash
Executable File
#!/bin/bash
|
|
# Lance le faux Qlik (HTTPS :443, il faut donc les droits root) en arrière-plan.
|
|
#
|
|
# server/tests/faux-qlik/lancer.sh [NB_CODES=… NB_AUTRES=… DELAI_MS=… MOIS_MANQUANT=YYYY-MM]
|
|
#
|
|
# puis, depuis server/ :
|
|
# NB_CODES=… cargo test extraction_faux_qlik -- --ignored --nocapture
|
|
set -euo pipefail
|
|
D=$(cd "$(dirname "$0")" && pwd)
|
|
[ -d "$D/node_modules/ws" ] || npm install --prefix "$D" --no-audit --no-fund --silent
|
|
[ -f "$D/cert.pem" ] || openssl req -x509 -newkey rsa:2048 -nodes -keyout "$D/key.pem" -out "$D/cert.pem" -days 30 -subj "/CN=localhost" 2>/dev/null
|
|
[ -f "$D/pid" ] && kill "$(cat "$D/pid")" 2>/dev/null || true
|
|
sleep 0.5
|
|
env "$@" nohup node --max-old-space-size=4096 "$D/serveur.js" > "$D/serveur.log" 2>&1 &
|
|
echo $! > "$D/pid"
|
|
for _ in $(seq 1 60); do grep -q "écoute" "$D/serveur.log" && break; sleep 0.5; done
|
|
cat "$D/serveur.log"
|