У меня есть цикл for для получения данных из запроса GET к API для примерно ~ 250 тыс. URL.
Это код на данный момент:
lst = ['url.com','url2.com']
lst2 = []
from multiprocessing.dummy import Pool as ThreadPool
def some_fun(url):
for i in lst:
#print (row)
xml_data1 = requests.get(i).text
lst2.append(xml_data1)
#time.sleep(1)
print(xml_data1)
if __name__ == '__main__':
c_pool = ThreadPool(16) #add as many as threads you can
c_pool.map(some_fun, lst)
c_pool.close()
c_pool.join()
Проблема в том, что когда я иду, чтобы остановить код с помощью клавиатуры, я вижу, как консоль Ipython останавливается и переходит на следующую строку, но не многопроцессный вывод, который продолжает работать и добавляться в список.
Как мне остановить мультипроцесс, как только он начался?
Спасибо заранее.