我有一个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控制台停止并转到下一行,但没有多进程输出,该输出会继续运行并追加到列表中。
一旦多进程开始,如何停止?
先谢谢您。