Chcę czegoś podobnego do executor.map
, z wyjątkiem sytuacji, gdy sprawdzam wyniki, chcę je powtórzyć zgodnie z kolejnością wypełniania, np. element pracy, który został ukończony jako pierwszy, powinien pojawić się jako pierwszy w iteracji itp. Jest tak, że iteracja zablokuje iff każdy pojedynczy element pracy w sekwencji jeszcze się nie zakończył.Python `concurrent.futures`: Iterowanie na futures zgodnie z kolejnością wypełniania
Wiem, jak zaimplementować to samodzielnie za pomocą kolejki, ale zastanawiam się, czy jest to możliwe przy użyciu ramy futures
.
(I najczęściej stosowane wykonawcy gwint oparte, więc chciałbym odpowiedzieć, że stosuje się do nich, ale ogólną odpowiedź będzie mile widziane, jak również.)
UPDATE: Dzięki za odpowiedzi! Czy możesz wyjaśnić, jak mogę użyć as_completed
z executor.map
? executor.map
jest najbardziej przydatnym i zwięzłym narzędziem dla mnie przy korzystaniu z kontraktów terminowych, a ja niechętnie zacznę ręcznie używać obiektów Future
.
Masz szczęście! – damzam