Message347232
I'm trying to get the progession of my asyncIO Futures. For some reason, I can't get value updates inside any other scope.
For example:
```
import concurrent.futures
import time
import asyncio
import random
def get_progress(futures):
return sum([f.done() for f in futures])
def long_task(t):
time.sleep(1.5)
return t
loop = asyncio.get_event_loop()
executor = concurrent.futures.ProcessPoolExecutor(max_workers=4)
inputs = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
futures_ = [loop.run_in_executor(executor, long_task, i) for i in inputs]
for i in range(5):
time.sleep(1)
print(get_progress(futures_))
```
It prints only 0. However, if I run this inside a terminal and call get_progress(futures_) it prints 7 as expected.
Am I missing something here ? |
|
Date |
User |
Action |
Args |
2019-07-03 15:53:59 | RobinFrcd | set | recipients:
+ RobinFrcd, asvetlov, yselivanov |
2019-07-03 15:53:59 | RobinFrcd | set | messageid: <1562169239.78.0.569979789065.issue37494@roundup.psfhosted.org> |
2019-07-03 15:53:59 | RobinFrcd | link | issue37494 messages |
2019-07-03 15:53:59 | RobinFrcd | create | |
|