Ich kann Google verstehen, acht ist schon viel. Vom Gefühl her hätte ich den Threadpool auf 4-8 begrenzt. Weiterhin muss es nicht einzig an "
zu vielen gleichzeitig" liegen, es könnte genauso gut sein, dass "
zu viele Einträge pro Zeit" übertragen wurden.
Die Entscheidung, ab wann der Server sagt "Junge, nimm mal den Fuß vom Gas" liegt allein beim Anbieter (Google). Du könntest in deiner Anwendung entweder die fehlgeschlagenen ISBNs in einer neuen Liste sammeln mit der man es dann noch einmal versucht oder nur die erfolgreichen aus der "To Do"-Liste entfernen.
Ich finde, das ist ein klassischer Anwendungsfall für
TParallel.For.
(...)
Stimmt, das hatte ich nicht auf dem Schirm. Das macht es noch einfacher, als von Hand Tasks/Futures in einem Array zu sammeln. 👍