Код: Выделить всё
from pebble import ProcessPool
from multiprocessing import Process, Pool, cpu_count
import time
def test_fn(randomNumberFromList):
# print(f'Beginnging for this number: {randomNumberFromList}')
if randomNumberFromList in [1,66,3,88,5,777]:
time.sleep(10)
completion_state = [randomNumberFromList, True]
return completion_state
else:
time.sleep(1)
completion_state = [randomNumberFromList, True]
return completion_state
def main():
list1 = [1, 2, 3, 4, 5, 6, 20, 33, 55, 233, 44, 66, 2666, 555, 8888, 888, 88, 77, 777, 7777, 77777]
with ProcessPool() as pool:
future = pool.map(test_fn, list1, timeout=4)
iterator = future.result()
while True:
try:
result = next(iterator)
print(result)
except StopIteration:
break
except TimeoutError as error:
print(f'list1value took longer than {error.args[1]} seconds.')
if __name__ == "__main__":
main()
Просмотрел документацию Pebble. , не нашел метода, который мог бы принести мне пользу
Подробнее здесь: https://stackoverflow.com/questions/787 ... he-functio