Форум сайта python.su
Столкнулся с проблемой: необходимо создать более 10к коннектов на сервер, если я вызываю protocol.ClientCreator(reactor, …).connectTCP(*hostport) в цикле и вызываю reactor.run() то сразу октрывается 10к соединений =\
как это дело контролировать? Желательно с примером, ибо с твистед знаком по стольку по стольку)
Офлайн
Считать количество открытых соединений (connectionMade/connectionLost у протокола)
Если зашел за предел - вместо непосредственного создания фабрики для клиетского протокола создать отложенный вызов через reactor.callLater. В нем опять проверить условие и в случае чего опять отложить.
По поводу примеров - сейчас писать несколько лень/некогда/устал сегодня как собака. Если они все таки нужны - сильно помог бы твой “прожорливый” код. Модифицировать работающее “чуть-чуть не так” гораздо проще, чем создавать с начала.
Если не получится - могу попробовать что-то набросать, но не раньше завтрашнего дня.
Офлайн