Как остановить многопроцессорность в spyder? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть цикл 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 останавливается и переходит на следующую строку, но не многопроцессный вывод, который продолжает работать и добавляться в список.

Как мне остановить мультипроцесс, как только он начался?

Спасибо заранее.

...