我正在編寫一個充當代理的rails應用程序,因此在此稱爲代理。這個想法是,用戶應該能夠通過Web UI管理他的服務器,即使他的服務器出現故障,它也總是可以正常運行。連接管理器在哪裏適合導軌?
要做到這一點,代理需要始終保持與服務器的開放連接。爲此,我創建了一個使用daemonz的後臺進程,它接受來自服務器的輸入連接,併產生不斷在套接字上監聽的線程。
現在我有兩個問題:我需要能夠從我的導軌控制器發送這些套接字上的消息,我需要知道使用哪個套接字才能連接正確的服務器。我打算用ConnectionManager
這個類來爲我處理這個問題,但我不知道這樣的類在rails結構中的位置,我不知道如何使對象和套接字都可用於這兩個進程。
這使得兩個問題:
- 哪裏連接管理器屬於?
- 如何在進程之間共享連接管理器和套接字?
如果您只知道第一個問題的答案,請繼續並回答。我有可能爲第二個問題創建一個單獨的帖子。