我試圖弄清楚爲什麼多處理不起作用。我一直在掙扎幾天知道..有人可以看看,看看我做錯了什麼。Python多處理池不能正常工作
我沒有得到腳本的任何錯誤。它只是完成,就像它永遠不會運行我在池中定義的函數。我甚至把一個假的函數名稱,看看它是否嘗試運行它的錯誤,甚至沒有達到這一點。有什麼想法嗎??
該腳本適用於不使用多處理時,只是試圖更快地創建腳本。我正在檢查響應代碼的7300個鏈接。先謝謝了。
def check_links(linklist):
returnList = []
for links in linklist:
r = requests.get(links)
rc = r.status_code
strRc = str(rc)
result = links+' '+strRc
returnList.append(result)
yield returnList
def main():
pool = multiprocessing.Pool(4)
results = pool.map(check_links, MasterListNoDupes)
pool.close()
pool.join()
for result in results:
print(result)
if __name__ == ' __main__':
main()
你爲什麼'yield'如果你有可能會'return'ed?無論如何,你正在構建整個列表。另外,你會得到什麼輸出? – ForceBru
'if __name__ =='__main __':','__main__'中有一個額外的空間。清除它 – Arun
我放回去了。我試圖將其作爲故障排除步驟... –