簡體   English   中英

龍卷風多個進程:創建多個MySQL連接

[英]Tornado multiple processes: create multiple MySQL connections

我正在使用此處所述的第一種方法跨多個進程運行Tornado HTTPS服務器http://www.tornadoweb.org/en/stable/guide/running.html(server.start(n ))

服務器已連接到本地MySQL實例,我希望每個Tornado進程都具有獨立的MySQL連接。

但是,根據SHOW PROCESSLIST的輸出,現在我只有一個MySQL連接。 我猜是因為我在調用server.start(n)和IOLoop.current()。start()之前建立了連接,對嗎?

我真正不了解的是,調用server.start(n)之后創建的進程是共享某些數據(例如,同一模塊內的全局變量)還是完全獨立的。

我應該在調用server.start(n)之后建立連接嗎? 還是在調用IOLoop.current()。start()之后? 如果這樣做,每個Tornado進程是否會有一個MySQL連接?

謝謝

當調用start(n)時,每個子進程都會獲得父進程中存在的變量的副本。 對於諸如連接之類的事物,通常會引起問題。 當使用多進程模式時,在啟動子進程之前盡可能少地做是很重要的,因此在start(n) (但在IOLoop.start()之前; IOLoop.start()不會創建mysql連接IOLoop.start()在服務器停止之前不會返回)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM