- Verschifft
- 2. September 2026 um 02:17 UTC
- Autor
- Kamo
- Ausschuss
- 0459b9a
@Async war inert. ************ genannt Übersetzen Artikel auf der gleichen Bohne, so ging der Aufruf direkt zu diesem und nie erreichte die Proxy, die es asynchron macht. Die Anmerkung war genau dort in der Datei, weshalb niemand es durch das Lesen erwischt hat. Was das kostete: Jeder Artikel, der gespeichert wurde, lief 21 sequentielle HTTP-Anrufe in die Übersetzungsdienst -- eins pro Ort, 120-Sekunden-Timeout pro Tag -- bevor die Antwort den Herausgeber des Autors erreichte. Eine gesunde Übersetzung Service machte es nur langsam. Ein kranker machte das Speichern eines Artikels nehmen die besser Teil einer Stunde. Gefunden von einem Import, der an seinem ersten Artikel hing. Die Arbeit bewegt sich zu KbArticleTranslator, eine separate Bohne, weil die Kreuzung Bohnengrenze ist, was den Stellvertreter real macht. Zwei Konsequenzen, die es wert sind, in der gleichen Änderung behandelt zu werden: Ein Vollstrecker, denn es gab keinen. Der Fallback des Frühlings beginnt ein frisches Thread pro Aufgabe und nie wiederverwendet es, so wirklich Schlange dreihundert Artikel hätten mit dreihundert Threads geantwortet, die alle die gewählten der gleiche Service. Jetzt ein begrenzter Pool mit einer begrenzten Warteschlange und CallerRunsPolicy -- Ablehnung würde Übersetzungen lautlos fallen lassen und eine grenzenlose Warteschlange würde Verstecken Sie den Rückstau, während Caller-Runs verlangsamt den Hersteller auf die Rate der Pool kann erhalten. Eine Grenze auf der Retry Sweep, die jeden veröffentlichten Artikel ging und Inline übersetzt. Inline, die langsam war; Schlange gestellt, würde es die übergeben haben ausführende Tausende von Aufgaben in einem Tick. Es wartet jetzt auf 25 pro Sweep und arbeitet einen Rückstau über mehrere.