2015-11-04 99 views
3

我想在進程之間共享一個Mojo :: Transaction :: WebSocket對象。在進程之間共享一個複雜對象

原因是我正在建立一個websocket聊天,我不想限制Mojolicious只能與一名工作人員一起運行。

可存儲沒有爲我工作,它只是給了我奇怪的錯誤。

任何想法,將不勝感激。

回答

0

您可以通過多種方式實現此目的。分享websocket本身就很困難,並且需要對流程分支/線程,共享文件描述符以及對可能需要改變的基礎代碼的瞭解。

如果您的目標是負載平衡或執行一些長時間運行的任務,您最好讓mojo應用程序接受請求並將其添加到隊列系統(如redis)中。您可以讓多個進程監聽特定請求,讀取有效負載,並通過隊列發回響應。

如果你只是想能夠訪問你的Mojo應用程序用於其他目的的內部,考慮證明你要發佈的數據一個寧靜的端點,

或者,你可以看看遠程過程調用( RPC),它將允許您的Mojo進程調用函數,並將數據發送到其他進程。以RPC::Simple爲例。