gen-server

    1熱度

    1回答

    我想知道是否有可能啓動一個給定狀態的gen_server。 我希望能夠建立一個監視器/管理程序,當服務器崩潰時,以最後一個有效狀態重新啓動服務器。 有關如何解決此問題的任何建議將非常歡迎。 到目前爲止,我唯一的想法是有一個特殊的handle_call/3,它在調用時將服務器狀態更改爲所需的狀態,但我想避免修改服務器模塊並純粹從我的monitor/supervisor進程處理if可能。 謝謝你的時間

    3熱度

    1回答

    我正在嘗試爲Erlang創建推送通知模塊。 當令牌有效時,一切正常... 問題是舊設備令牌(現在無效)被拒絕。 據我所知,無效令牌將被6字節套接字消息的apns拒絕,並使連接無效(我認爲這真是愚蠢的,無論...) 事情是我似乎並沒有得到6字節的套接字消息,APNS應該給我的模塊,就像控制進程沒有監聽套接字一樣。 這裏是我的代碼: -module(pushiphone). -behaviour(g

    4熱度

    2回答

    我想擴展gen_server(創建一個gen_server_extra)與一些額外的功能。要求是: gen_server_extra進程應該像正常的gen_server一樣運行。例如,他們應該通過gen_server:call接受呼叫,與SASL集成,配合OTC監督樹等。 gen_server_extra流程應該具有附加功能,由gen_server_extra提供。這基本上意味着一些消息將由gen

    10熱度

    1回答

    檢查Gen_Fsm和Gen_Server文檔後,我發現或多或少,它們的行爲類似。在我看來,如果有一個循環函數用於發送廣播或監聽tcp sock,最好使用Gen_Fsm,否則使用gen_server。我想知道它是否正確?

    1熱度

    2回答

    我正在編寫Erlang編程的練習12-2。我有一個實現OTP gen_server行爲的模塊db_server_otp。作爲一個獨立的模塊,我已經測試過它,它按預期工作。我現在必須爲它添加一個主管。根據該文中的例子,我創建了一個模塊db_server_sup如下: -module(db_server_sup). -export([start/0,init/1]). -behavior(supe

    4熱度

    2回答

    我正在尋找erlang的好例子異步使用gen_server處理消息:cast/2。 我見過的OTP SSH模塊,它接收到一個請求通過 模塊中的一個示例:handle_cast/2,它保持在模塊的一個本地隊列,後來發回對應於該請求的應答消息,通過明確地向呼叫者發送消息。當我試圖閱讀它時,我幾乎無法跟蹤代碼,並且無法理解這個想法。 讚賞一段僞代碼。

    0熱度

    1回答

    我有一個具有行爲gen_server的erlang模塊。 現在,我有: init(_Args) -> erlang:send_after(?PROCESS_STATE_INTERVAL,self(),processState), {ok, []}. 和 handle_info(processState, _State)-> {ok, NewState} = gen

    3熱度

    3回答

    有沒有辦法告訴gen_server:「supervisor已經初始化所有的gen_servers,現在你可以發送消息」? 我有一個工人gen_server,其工作是在他的監督樹中設置其他gen_servers的狀態。如果我剛開始在配置服務器的init函數中發送消息,有時會得到{noproc,_}。我想這意味着配置服務器要快速:他在主管有足夠的時間啓動所有工作人員之前發送了消息。我通過將timer:

    1熱度

    1回答

    我想知道從erlang節點A向erlang節點B移動gen_server/gen_fsm以保持其內部狀態的建議方式(如果有)。

    1熱度

    2回答

    我正在嘗試實現一個簡單的主管,並讓它重新啓動子進程,如果他們失敗。但是,我甚至不知道如何在監督下產生多個流程!我看着簡單的管理者代碼在這個網站,發現一些 -module(echo_sup). -behaviour(supervisor). -export([start_link/0]). -export([init/1]). start_link() -> {ok, Pid}