6
默認情況下,在Resque中,父進程分支和子進程創建到數據庫的新連接。如何使用Resque共享父代和子代之間的MySQL連接?
這可以工作,但如果你有幾十個工人,MySQL不能保持很多的連接打開,並開始引發錯誤。
有什麼解決方案讓孩子們使用他們父母的MySQL連接?
默認情況下,在Resque中,父進程分支和子進程創建到數據庫的新連接。如何使用Resque共享父代和子代之間的MySQL連接?
這可以工作,但如果你有幾十個工人,MySQL不能保持很多的連接打開,並開始引發錯誤。
有什麼解決方案讓孩子們使用他們父母的MySQL連接?
不幸的是,沒有一種安全的方法可以將父連接的MySQL連接共享給兒童。我認爲你有兩個問題需要考慮:
我不得不使用大量的連接,以便能夠儘可能快地處理大量的數據。更改爲豆漿機或任何其他排隊系統不會改變它。使用redis進行存儲是個不錯的主意,但Resque使用它來排隊,這非常完美。 – marcgg 2012-01-12 17:27:21
您確定除了允許更多連接之外沒有其他方法嗎? – marcgg 2012-01-12 17:29:58
另一種選擇可能是使用「resque-jobs-per-fork」鏈接:http://github.com/samgranieri/resque-jobs-per-fork。這將允許您爲每個叉處理多個作業,從而減少所需的併發連接數。此主題也可能有所幫助:http://librelist.com/browser//resque/2010/6/28/reducing-database-churn/#fd6c9fec1ed29f2f06e10ce96b578dd0。 – 2012-01-12 18:44:10