- Expédié
- 23 septembre 2026 à 02:28 UTC
- Auteur
- Kamo
- Commite
- 4820f44
POST /convert-vecteur et WS /ws/pipeline ne prennent aucune autorisation (voir le rapport d'accompagnement de cet engagement pour pourquoi qui n'est pas fixée ici) et, jusqu'à présent, lire l'ensemble de l'appeleur télécharger en mémoire avant de regarder sa taille à tous les niveaux a été définie dans les paramètres et n'a jamais été référencée nulle part. Soit Le point d'extrémité a également été administré par prélèvement d'arrière-plan et la vectorisation (rembg, vtracer et les deux CPU-Lissu, via asyncio.to-thread) sans casquette sur le nombre de casseurs qui pourraient courir à la fois. Ensemble, c'est une porte ouverte pour faire fonctionner cette gousse en mémoire ou CPU avec une poignée de demandes concurrentes, de n'importe qui peut atteindre le point de - et par - c'est-à-dire n'importe quel navigateur sur Internet: Traefik routes /vec-ws/z directement vers ce service, contournant entièrement la passerelle d'apservice. - /convertir-vecteur lit maintenant le téléchargement en morceaux bornés et refuse (413) dès que le courant Total croise max'image'sizemb, plutôt qu'après avoir tamponné l'ensemble. - Le pipeline WebSocket n'a pas d'équivalent d'un morceau de lecture et de réception() trame décodée complète au moment où elle est vue - donc la même limite est vérifiée immédiatement après base64-décodage d'une image/masque entrant, avant qu'elle ne soit remise à l'ablation ou à la vectorisation par bg. - Une nouvelle conversion-sémaphore (max-concurrent-conversions, par défaut 4, dans les paramètres/configmap comme max.image-size-mb était déjà enveloppé tous les appels de déménagement et de vectorisation dans les deux critères d'évaluation. Les appelants en excès attendent; ils ne sont pas refusés. Tests: test-resource-limits.py (pytest - httpx seulement - les deps ML/CV lourds dans requirements.txt sont les plus importants. tous les corps de fonction de fonctionnement paresseuse importés, donc les deux Les points d'entrée de conversion sont maquis au lieu d'être installés). Pas géré par IC aujourd'hui; cette construction n'a pas (build-and-deploy.yml va directement de la caisse à la construction de docker/push/deploy). Chaque garde était rouge vérifié en premier: le culot de taille enlevé (un téléchargement surdimensionné atteint le convertisseur moqué à la place d'être refusé) et le contrôle de taille WebSocket désactivé, dans un arbre de travail local, restauré après.
