Прямо сейчас логика такова:
Multiprocess request.posts, пока мы не получим требуемый ответ
Установить событие для остановки и завершения процессов
НО, запросы, которые были выполнены до завершения, все еще заканчивают свою работу, что я не могу себе позволить. Мне нужно, чтобы они остановились ровно на секунду, когда мое состояние закончилось. Я даже могу позволить себе убить сетевой адаптер для скрипта на секунду, если это то, что нужно. Мне просто нужно встать на правильный путь
Это в Windows, Запуск Python 2.7, Многопроцессорная обработка и запросы libs
Есть ли какой-нибудь способ прекратить соединения модуля Requests в середине запросов? (Нужно остановить все они на разных процессах)
Например:
def worker(found_event):
print 'process started'
randDelay = random.randint(4, 10)
response = requests.post('http://httpbin.org/delay'+str(randDelay))
print response.status_code
found_event.set()
if __name__ == "__main__":
found_event = Event()
pool = [Process(target=worker, args=(found_event,)) for i in range(10)]
for p in pool:
p.start()
found_event.wait()
for p in pool:
p.terminate()
for p in pool:
p.join()
Иногда возвращает:
process started
process started
process started
process started
process started
process started
process started
process started
process started
process started
404
Иногда:
process started
process started
process started
process started
process started
process started
process started
process started
process started
process started
404404