Python3.6進程池添加子進程不執行_一次傻屌行為


先說現象:

單進程完美執行,使用進程池添加子進程死活不執行.一會兒就結束進程.

很鬧心,單進程能執行,說明最起碼我函數邏輯,語法是對的..拍錯步驟:

1.核對創建進程池,添加子進程,阻塞主進程的語法:正確,教科書式的!

2.將函數的雙參數變成單參數:沒有用

3.打開我以前能夠運行的多進程程序.沒毛病,執行的好好的.

4.換vs2017,沒用用.再運行以前的那個多進程程序.你大爺還是你大爺.好好地.

5.去掉函數中的try-except語句塊,添加return語句;沒用

6.比對以前的多進程程序函數和現有的函數代碼.沒什么發現.

7.比對以前的環境和現有的環境:以前的沒添加數據庫,現在的添加了數據庫...

8.卧槽,參數!

9.去掉現有的函數的數據庫參數

  開始我這么設計的:

def get_book_content(collection):#collection是pymongo模塊下的集合變量.可以通過這個變量獲取集合里的數據和集合名字

  現在我不傳入這個參數,我直接傳入集合名稱和集合內容列表

10.成功!

 

原因分析,因該是數據庫限制了,同一個庫下面只能有一個集合變量.其余的失效.導致函數執行出錯,子進程退出.

 

經驗:以后啊!盡量用Python的基礎數據結構,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM