gen-server

    1熱度

    1回答

    我正在設置每小時運行一次的GenServer來緩存數據。我跟着JoséValim發佈的例子回答了關於如何做到這一點的問題。 How to run some code every few hours in Phoenix framework? 只是如果我給調用Process.send_after/3的時間間隔爲一個模塊屬性不運行它的偉大工程。有人對此有何認識? 所以下面不工作,但如果在調用Proce

    4熱度

    2回答

    我們如何使用GenServer實現可重置的倒數計時器? 1)執行任務的時間定後量,比如每60秒 2)有辦法倒計時重置爲60秒計時器過去之前 我已經看過How to perform actions periodically with Erlang's gen_server?但它並不完全涵蓋在倒計時結束前休息計時器的方面。 謝謝。

    2熱度

    1回答

    嘗試在項目中使用OTP風格並獲得一個OTP接口問題。什麼解決方案更受歡迎/美麗? 我有什麼: Web服務器與mochiweb 一個過程,什麼滋生許多(1000-2000)的孩子。 孩子們包含狀態(netflow-speed)。處理代理消息給兒童並創建新的兒童,如果需要的話。 到Mochiweb我有一個頁面,所有演員的速度,乳清如何製造: nf_collector ! {get_abonents_s

    0熱度

    1回答

    我在GenServer測試以下模式GenServer(gen_server): def handle_info({:tcp, _, data}, s) do # IO.puts "\nrx: \n#{Base.encode16(data)}\n" extra = _proc_data(<<s.extra::binary, data::binary>>) :inet

    1熱度

    3回答

    我有一個簡單GenServer內,我希望創建一個循環調用一個函數每兩秒鐘: defmodule MyModule do use GenServer def start_link(time) do GenServer.start_link(__MODULE__,time) end #Start loop def init(time) d

    0熱度

    1回答

    從erlang.org/doc,所述gen_server部分: START_LINK(服務器,模塊,參數數量,選項) - >結果 如果已經存在與所述的處理指定ServerName函數返回{錯誤,{already_started,PID}} 顯然,二郎不允許多個進程具有相同的名稱。 好,現在讓我們來看看another function: abcast(名稱,請求) - > abcast 發送異步請求

    2熱度

    1回答

    我有一個名爲Tornado的模塊,它實現了一個GenServer,我試圖用一個名稱不同的模塊來命名它。 按照Elixir Docs一個GenServer過程只需提供一個原子作爲參數來註冊 children = [ worker(Tornado, [[], [name: :tornado_server]]) ] 但是,當我嘗試調用它的功能我得到一個錯誤: iex(2)> :torna

    2熱度

    1回答

    我正在Erlang編寫一個服務器,並且想要打開大量的連接。問題是我在16358 gen_tcp:connect/3調用後收到{error,eaddrnotavail}。正如你在下面看到的,服務器非常簡單。 我修改了我的MacOS約塞米蒂限制; ulimit -n輸出爲6553600. 我開始: erl +Q 134217727 +P 1000000 -env ERL_MAX_PORTS 40960

    1熱度

    1回答

    繼LYSE之後,我試着用gen_server重新實現kitty_server2。但由於某些原因,我得到這個錯誤: 37> Cat1 = kitty_server3:order_cat(Pid, carl, brown, 2). Ordeirng cat!** exception exit: {{function_clause, [{gen,do_for_proc,

    2熱度

    1回答

    在Elixir's intro to GenServer,客戶端API開始與:ok參數 def start_link(opts \\ []) do GenServer.start_link(__MODULE__, :ok, opts) end ,並且服務器的init功能服務器需要它的參數是:ok def init(:ok) do {:ok, HashDict.new}