Найти - Пользователи
Полная версия: Зависают процессы multiprocessing
Начало » Python для экспертов » Зависают процессы multiprocessing
1
Mr.Anderson
Доброго времени всем. Может знает, кто решить такую проблему.
Ниже часть программы:
 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 диапазонов и отрабатывает их, но спустя какое то время, процессы зависают по очередно и ничего не происходит, возможно проблема в логике или еще где то. Прошу помощи.
FishHook
Mr.Anderson
Запустите программу в дебаггере (например пайшарма), выполните её пошагово и увидите на чем она зацикливается.
Mr.Anderson
FishHook
Mr.AndersonЗапустите программу в дебаггере (например пайшарма), выполните её пошагово и увидите на чем она зацикливается.
Долго дебажить придется, прежде чем повиснуть она успевает порядка 600 диапазонов отработать.
PooH
А сколько живых ip в подсети? Возможно процессы висят в ожидании таймоутов?
Mr.Anderson
PooH
А сколько живых ip в подсети? Возможно процессы висят в ожидании таймоутов?
Тайм ауты установлены и обрабатываются.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB