greenlets

    10熱度

    2回答

    我有一個Django管理命令,使數以千計的TCP/UDP請求。我已經使用Gevent來加速這一點,因爲我已經重新構建了我的代碼以作爲協同程序工作。套接字連接不再阻塞,但從我讀過的部分,Django仍然不是綠色的。 (綠色,我的意思是使用greenlet。) 你能告訴我Django的哪些部分不是綠色的,我可以做些什麼來使它們變成綠色?有一些與數據庫相關的部分仍然阻塞我的想法。有沒有Django的庫/

    1熱度

    2回答

    在我的Linux x86_64主機上,我想爲我的PowerPC目標交叉編譯一些額外的Python模塊,具體來說就是greenlet,gevent,gevent-websockets。目前,我只是試圖交叉構建greenlet模塊。 使用信息從這個站點:使用此設置爲我的編譯環境 # Undo variables for cross-compile environment unset ROOT un

    4熱度

    1回答

    我一直在讀了好幾個小時了,我完全可以想出蟒蛇多線程如何比單線程快。 真正的問題來自GIL莖。如果有GIL,並且任何時候只有一個線程真的在運行,那麼多線程如何比單個線程更快? 我閱讀了一些操作GIL被釋放(如寫入文件)。這是什麼使多線程更快? 而關於greenlets。這些如何幫助併發?到目前爲止,我所看到的所有目的都是在函數和不太複雜的yield函數之間輕鬆切換。 編輯:怎麼在世界上像旋風一臺服務

    2熱度

    2回答

    我知道阻塞代碼在事件循環(即NodeJS)方面是一種罪過,但greenlet(我認爲是綠色線程)怎麼樣?運行調用阻塞函數的代碼是否存在問題?

    3熱度

    2回答

    我正在使用同一應用程序內的gevent和龍捲風,以便不支持龍捲風的ioloop的庫可以被制服以使用gevent異步執行。我想我需要運行兩個真正的系統線程,一個專用於Tornado的ioloop,另一個專用於gevent的循環。但是,嘗試調用系統線程內的任何gevent函數將返回not implemented Error,gevent cannot be used inside threads。因此

    2熱度

    1回答

    代碼: import gevent import time def func(a, t): time.sleep(t) print "got here", a gevent.spawn(func, 'a', 4) gevent.spawn(func, 'b', 0).join() time.sleep(3) print "exit" 輸出: got here

    4熱度

    1回答

    在使用gevent時,無論何時孩子greenlet引發異常,我都希望它冒泡到父級(理想情況下父級引發異常)。在greenlet的文檔中,它表示這是自動完成的,但在gevent中似乎不是這種情況。 如何在gevent中引發異常? 謝謝!

    0熱度

    2回答

    我有兩個函數接收來自兩個不同連接的數據,我應該在從其中一個連接獲得結果後關閉兩個連接。 def first(): gevent.sleep(randint(1, 100)) # i don't know how much time it will work return 'foo' def second(): gevent.sleep(randint(1, 100

    3熱度

    1回答

    我從Django應用程序一起使用PyMongo和gevent。在生產中,它被託管在Gunicorn上。 我在創建應用程序時創建了一個Connection對象。我有一些後臺任務連續運行並每隔幾秒執行一次數據庫操作。 該應用程序還可以像任何Django應用程序一樣提供HTTP請求。 我遇到的問題是以下幾點。它只發生在生產環境中,我無法在我的開發環境中重現它。當我讓應用程序閒置一段時間(儘管後臺任務仍在

    1熱度

    1回答

    我想知道是否有人嘗試使用[gevent] [1]和[socksipy] [2]進行併發下載。