- Spegnimento
- 2 settembre 2026 alle ore 02:17 UTC
- Autore
- Kamo
- Impegno
- 0459b9a
@Async era inerte. E' il momento giusto. chiamato tradurreArticolo sullo stesso fagiolo, così la chiamata è andata dritto a questo e mai raggiunto il proxy che lo rende asincrono. L'annotazione era proprio lì nel file, motivo per cui nessuno l'ha catturato leggendo. Che costo: ogni articolo salva ha eseguito 21 chiamate HTTP sequenziali al servizio di traduzione -- uno per locale, 120-secondo lettura timeout ogni -- prima che la risposta raggiungesse l'editor dell'autore. Una traduzione sana servizio reso semplicemente lento. Un malato fatto salvare un articolo prendere meglio di un'ora. Trovato da un'importazione che ha appeso al suo primo articolo. Il lavoro si sposta a KbArticoloTraduttore, un fagiolo separato, perché attraversando un il confine è ciò che rende reale il proxy. Due conseguenze vale la pena di maneggiare nello stesso cambiamento: Un esecutore, perche' non c'era nessuno. La caduta di primavera inizia una nuova thread per task e mai riutilizzarlo, in modo genuinamente in coda trecento articoli avrebbero risposto con trecento fili tutti dialling stesso servizio. Ora una piscina delimitata con una coda delimitata e CallerRunsPolicy -- respingere sarebbe cadere le traduzioni silenziosamente e una coda non legata sarebbe nascondere il backlog, mentre il caller-run rallenta il produttore al tasso la piscina può sostenere. Un vincolo sul retry, che ha camminato ogni articolo pubblicato e tradotto inline. Inline che era lento; in coda, avrebbe consegnato il esecutore migliaia di compiti in una zecca. Ora le code 25 per spazzare e funziona un backlog giù per diversi.