Ниже часть программы:
def check_ip(host): print('Try host: ' + str(host)) try: response = requests.get(host, timeout=3) if 'RT-' in response.headers['WWW-Authenticate']: print('Rout found: ' + str(host)) if login_80(host): print('Get Router: ' + str(host)) except Exception: try: response = requests.get(host + ':8080', timeout=3) if 'RT-' in response.headers['WWW-Authenticate']: if login_8080(host): print('Get Router: ' + str(host)) except Exception: return False def main_function(cidrlist): cidr_list = build_ip_address_from_cidr(cidrlist) print('Total IPs: ' + str(len(cidr_list))) pool = TPool(250) result = pool.map(check_ip, cidr_list) pool.close() pool.join() return result def run_main(): cidr = build_cidr_list() pool = Pool(6) result = pool.map(main_function, cidr) pool.close() pool.join() return result run_main()
Проблема в том, что через какое то время процессы тупо зависают и ничего не делают.
Суть программы, она получает список из CIDR диапазонов, эти диапазоны переводит в список IP адресов и каждый IP проверяется. Сначала программы нормально работает, набирает по 6 диапазонов и отрабатывает их, но спустя какое то время, процессы зависают по очередно и ничего не происходит, возможно проблема в логике или еще где то. Прошу помощи.