gen-server

    1熱度

    1回答

    我有這樣一個天真的緩存GenServer /客戶端執行使用ETS: defmodule Cache do use GenServer def start_link() do GenServer.start_link(__MODULE__, []) end def fetch(key, def_value) do case get(

    1熱度

    1回答

    我有一個表模塊。當它作爲gen_server啓動時,它會從Clock模塊創建2個服務器 - 一個用於X播放器,另一個用於O播放器。 10秒後,時鐘會超時,該代碼被稱爲: updateTick(Delta, {{Time, ticking, _}, Host}) -> Now = Time - Delta, case Now of Now when Now > 0 ->

    0熱度

    1回答

    我正在使用GenServer作爲排隊系統。我怎樣才能使整個應用程序訪問相同的過程? 我想過把它application.ex將做到這一點,就像這樣: children = [ supervisor(Prefect, [], name: PrefectQueue) ] 我Prefect模塊是GenServer: defmodule Prefect do use GenServ

    0熱度

    1回答

    我正在嘗試爲調度程序應用程序(使用Elixir 1.5語法註釋)設置監督樹。該應用程序應該工作,使: 應用程序啓動使用註冊表&調度監督員 的SchedulerSupervisor靴,並允許通過start_child回調動態添加的兒童。這需要用於構建調度狀態的初始化參數。 調度程序在初始化時將其名稱註冊到註冊中心,並使用一個包含狀態的結構進行初始化(調度程序具有操縱調度的功能,但與我遇到的問題無關)

    3熱度

    1回答

    我有一個gen_server過程,註冊一個全局命名這樣的全局名稱: global:register_name(<<"CLIENT_", NAME/binary>>, self()), 另一個進程試圖發送此過程中使用gen_server:call這樣的消息: exit with reason {noproc,{gen_server,call,[{global,<<"CLIENT_122">>},

    0熱度

    1回答

    我正在製作可發送/接收異步消息的基本Elixir服務器/客戶端模塊。該模塊看起來像下面。 defmodule Bitcoin.WorkerOne do use GenServer def start_link(opts) do IO.puts " - Worker 1 started - " GenServer.start_link(__MODULE__,:ok, opt

    0熱度

    1回答

    我正在製作一個主人應用程序。主碼如下。此代碼異步調用工作人員start_link。一旦工人完成他們的工作,他們會向主人報告異步調用使用handle_cast。在此之後,我打算讓主演員'ON',以便它可以重新產生新的工作者演員(就像它在第一個start_link調用中那樣)。但是,一旦所有的工作人員都完成了他們的工作,主人就會停下來。這stackoverflow帖子提到使用遞歸調用,但我不能用Gen

    0熱度

    1回答

    如果我GenStage的handle_demand/2方法是這樣的: def handle_demand(demand, _state) when demand > 0 do case Queue.dequeue do nil -> Logger.debug("Queue empty.") {:noreply, [], []} {job, up

    3熱度

    1回答

    我有一臺服務器,我正在創建(一個消息服務),我正在做一些初步測試來進行基準測試。到目前爲止,處理數據的最快方式是直接在用戶進程上使用並使用工作池。我測試過產卵,這是令人難以置信的緩慢。 該測試只是連接10k用戶,並且每個用戶同時發送15kb數據(或者嘗試太多)並讓服務器處理數據(總長度,標題和有效負載) 。 我有工作池的問題是它的唯一快速,當你有足夠的工人來抵消連接的數量。例如,如果您擁有500k

    0熱度

    1回答

    我正在通過unit testing the handle_{call,cast,info} callbacks測試GenServer。我的一個文檔測試 S的如下: @doc """ Call the GenServer to retrieve the initial workout ## Examples