Batch 2 de l'audit (perf backend), items sûrs : - roster.js : fetchTechnicians caché 30 s (appelé par endpoint + generate + materialize + tech-positions polling 25 s pour des données quasi statiques). invalidateTechCache() sur les 6 écritures Dispatch Technician (coût/effic/skills/pause/traccar/weekly) → pas de stale après édition. Vérifié : call1 71 ms → call2 5 ms (caché). - legacy-dispatch-sync.js : garde _inFlight sur le tick d'import ET la veille → un passage long ne se relance plus par-dessus (évitait doublons Dispatch Job + contention ERPNext). - conversation.js : jeton d'ingestion webhook mémoïsé (mailIngestToken) au lieu d'un fs.readFileSync SYNCHRONE à chaque courriel/canal entrant (bloquait la boucle d'événements). NON fait (par prudence) : paralléliser les erp.list séquentiels de generate() (séquencement DÉLIBÉRÉ anti-ECONNRESET Frappe, cf. feedback_hub_crash_502) ; batch N+1 Customer du triage (refactor risqué d'une chaîne de fallback stateful — reporté) ; jitter des pollers (502 boot déjà mitigé). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| data | ||
| docs | ||
| lib | ||
| preview | ||
| public | ||
| scripts | ||
| templates | ||
| test | ||
| .env.example | ||
| docker-compose.yml | ||
| package-lock.json | ||
| package.json | ||
| server.js | ||