gen-server

    1熱度

    2回答

    在向其發送消息/事件之前,Erlang中確保某個進程存在的最推薦方法是什麼?在我的情況下,我首先發生的消息開始處理,然後它仍然活着。雖然不斷通過進一步的消息,我第一次嘗試啓動過程中使用相同的名稱,以確保它啓動時,這樣的事情(使用gen_fsm和simple-one-for-one重啓場景): %% DeviceId - process name heartbeat(ApplicationKey

    1熱度

    1回答

    我對Logan/Merritt/Carlson的簡單緩存,第6章,第149-169頁,Erlang和OTP in Action做了些許修改。到目前爲止,沒有代碼改變,只是重命名模塊。 我啓動應用程序: application:start(gridz). ok 我插入一個項目: gridz_maker:insert(blip, blop). 我得到這個錯誤: ** exception er

    0熱度

    2回答

    簡而言之: 我想做一個客戶端連接和發送/接收消息的套接字服務器(基於sockserv代碼瞭解你一些erlang教程http://learnyousomeerlang.com/buckets-of-sockets) 服務器端組件: 管理器 - 唯一的,從最開始的,產生具有gen_server行爲的進程 gen_server行爲進程 - 每一個都處理連接。 客戶端: 客戶端連接到套接字併發送幾個字節的

    0熱度

    3回答

    我必須實現erlang gen_server進程,這些進程幾個小時都在運行。但超時後gen_server進程應該被終止。這些過程是動態啓動的,因此使用動態監督。這個想法是在進程init上使用timer:apply_after()。所以gen_server進程初始化看起來像 init(Time) -> timer:apply_after(Time, my_supervisor, kill_

    1熱度

    2回答

    我有一個需要優化的傳統Erlang程序。這段代碼在運行時使用高達20G的內存。我想知道是否有辦法在運行時獲得Erlang Beam的進程本身大小?如果這是可能的,那麼我可以做一些事情,如光束大小> 10GB,然後拒絕所有對gen_server進程的調用。謝謝您的幫助!

    1熱度

    1回答

    好友, 我有一個關於Erlang gen_server的問題。 代碼集是在這裏: 文件:akita_cluster_info.erl start_link() -> gen_server:start_link({global, ?MODULE}, ?MODULE, [], []). init([]) -> c:nl(akita_collector_local),

    0熱度

    1回答

    我有一個過程,發送暫停消息到gen_server像這樣: Results = [gen_server:cast(Child, pause) || {Id, Child, _Type, _Modules} <- supervisor:which_children(?SERVER), ?IGNORE(Id) == false], 在我的gen_server,我趕在我hand

    0熱度

    4回答

    我正在構建一個可以以兩種模式運行的應用程序。沙盒模式和生產模式。 在沙箱模式下,我想在我的gen_server中對數據庫進行很多檢查:if table does not exist then create it;如果列不存在,則添加它;如果列類型不允許我想要存儲的值,則更改它等。 在生產模式下,如果表不存在或列與值的類型不匹配,則會失敗,沒問題。 所以,爲了避免繁瑣的代碼,如「case state

    0熱度

    2回答

    主管似乎失敗默默開始孩子...... 這裏的主管 -behaviour(supervisor). -export([start_socket/0, init/1, start_link/1]). -define(SSL_OPTIONS, [{active, once}, {backlog, 128}, {reuseaddr, true},

    2熱度

    2回答

    我正在玩gen_server模塊內的進程字典,我調用了get()函數,並且我得到了類似這樣的東西。 {'$ancestors',[main_server,<0.30.0>]}, {'$initial_call',{child_server,init,1}}] 如果我刪除了進程字典,會發生什麼情況? 我擦除它,每一件事情都很好,即使 調用一個函數,在child_server中產生一個異常mai