- Spegnimento
- 23 settembre 2026 alle ore 02:28 UTC
- Autore
- Kamo
- Impegno
- 4820f44
POST /convert-vector e WS /ws/pipeline non prendere auth (vedere il rapporto di compagno di questo commit per il motivo che non è fissato qui) e, fino ad ora, leggere l'intero caricamento di un chiamante in memoria prima di guardare la sua dimensione a tutti — max image size mb è stata definita nelle impostazioni e non ha mai fatto riferimento ovunque. O endpoint ha anche eseguito la rimozione di sfondo e la vettorizzazione (rembg, vtracer — sia CPU-bound, via asyncio.to thread) senza tappo su quanti potrebbero funzionare subito. Insieme che è una porta aperta eseguire questo pod fuori memoria o CPU con una manciata di richieste contemporaneamente, da chiunque possa raggiungere esso — e per ******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** Traefik percorsi /vector-ws/* direttamente a questo servizio, bypassando completamente il gateway di apiservice. - /convert-vector ora legge il caricamento in blocchi e rifiuta (413) non appena la corsa cross totali max image size mb, piuttosto che dopo aver tamponato l'intera cosa. - L'oleodotto WebSocket non ha un equivalente di una lettura schiacciata — Receive text() già detiene telaio completamente decoded dal momento che è visto — così lo stesso limite viene controllato immediatamente dopo base64-decodifica un'immagine/maschera in arrivo, prima che sia mai consegnato a bg rimozione o vettorizzazione. - Una nuova conversione semaphore (max concurrent conversions, default 4, in impostazioni/configmap come max image size mb già è stato) avvolge ogni chiamata bg-removal e vettoriale in entrambi i punti. Eccesso chiamanti aspettare; non sono rifiutati. Test: test resource limits.py (solo pipistrello + httpx — i pesanti deps ML/CV nei requisiti. Txt sono tutti i servizi /*.py importati lazily dentro i corpi di funzione, mai a carico del modulo, quindi i due i punti di ingresso di conversione sono mocked invece di installato). Non gestito da CI oggi; questa costruzione non ha nessuno (build-and-deploy.yml va direttamente dal checkout a docker build/push/deploy). Ogni guardia era verificato prima rosso: il tappo taglia rimosso (un caricamento oversize raggiunge il convertitore mocked invece di essere rifiutato) e il controllo di dimensione WebSocket disabilitato, in un piano di lavoro locale, restaurato dopo.
