Limitando o número de processos no python de multiprocessamento
Minha exigência é gerarhundreds of HTTP POST requests per second
. Eu estou fazendo isso usandourllib2
.
def send():
req = urllib2.Request(url)
req.add_data(data)
response = urllib2.urlopen(req)
while datetime.datetime.now() <= ftime:
p=Process(target=send, args=[])
p.start()
time.sleep(0.001)
O problema é este códigosometimes for some iterations
lança uma das seguintes exceções:
HTTP 503 Service Unavailable.
URLError: <urlopen error [Errno -2] Name or service not known>
Eu tentei usarrequests(HTTP for humans)
também, mas estou tendo alguns problemas de proxy com esse módulo. Parece querequests
está enviando pacotes http para o servidor proxy, mesmo quando a máquina de destino está na mesma LAN. Eu não quero pacotes para ir ao servidor proxy.