如何在spyder中停止多进程?

时间:2018-08-27 12:13:33

标签: python python-3.x python-multiprocessing

我有一个for循环,用于从大约2500k URL的请求GET调用到API的数据获取。

这是到目前为止的代码:

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控制台停止并转到下一行,但没有多进程输出,该输出会继续运行并追加到列表中。

一旦多进程开始,如何停止?

先谢谢您。

0 个答案:

没有答案