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()
Однако я не могу получить «неудачные» значения в списке 1 в блоке TimeoutError. Как мне это сделать? В этом примере я хочу, чтобы «1 заняло больше 4 секунд», «66 заняло больше 4 секунд» и т. д. для вывода на консоль.
Просмотрел документацию Pebble. , не нашел метода, который мог бы принести мне пользу
Я пытаюсь настроить рабочий тайм-аут в Pebble (в принципе это работает) [code]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() [/code] Однако я не могу получить «неудачные» значения в списке 1 в блоке TimeoutError. Как мне это сделать? В этом примере я хочу, чтобы «1 заняло больше 4 секунд», «66 заняло больше 4 секунд» и т. д. для вывода на консоль. Просмотрел документацию Pebble. , не нашел метода, который мог бы принести мне пользу
Служба WCF возвращает ошибку тайм-аута, как показано ниже.
Время ожидания канала запроса истекло при ожидании ответа после XX:XX: XX увеличивает значение тайм-аута отправки при привязке. Время, отведенное для этой операции, возможно, было частью...
Служба WCF возвращает ошибку тайм-аута, как показано ниже.
Время ожидания канала запроса истекло при ожидании ответа после XX:XX: XX увеличивает значение тайм-аута отправки при привязке. Время, отведенное для этой операции, возможно, было частью...