otp

    2熱度

    1回答

    我正在通過在線示例,已經可以使用mnesia ram副本並將它們連接起來,但是我對一些事情有點困惑。 1:啓動節點(創建模式的人)是否只有本地模式? (例如,在根文件夾= [email protected]) 我問,因爲在另一個節點上,我可以簡單地啓動mnesia和change_config(extra_db_nodes,[node]),並自動獲取所有打開的數據起始節點。 這對我來說似乎很奇怪,如

    3熱度

    1回答

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

    1熱度

    1回答

    我有一個坐在循環中並接收命令的進程。 receive increase -> ... decrease -> ... after 5000 -> ... end 但是當我用數以千計的信息轟炸它時,它會發生故障並接收到這些警告。 警告消息: ***WARNING*** Unexp msg {<0.106.0>,rec_acked

    2熱度

    3回答

    我想要做的是改變我的主管盡最大努力讓孩子繼續奔跑,但如果他們的失敗率超過強度,就放棄。這樣,其餘的孩子繼續跑。但是,對於現有的管理員配置,這似乎不可能,所以看起來像我唯一的選擇可能是實現我自己的主管,所以當它收到EXIT時,我可以按照這種方式行事。 有沒有一種方法來實現這樣的自定義OTP主管行爲,而無需編寫自己的主管?

    0熱度

    1回答

    我目前正在使用Nadia,fsm和Exactor構建聊天機器人。我試圖將每個用戶對話建模爲一個有限狀態機,以便引用每個用戶當前所處的每個狀態,並使用一個緩存在用戶聊天ID與其所使用的fsm的相應pid之間引用。 我根據我的this tutorial 下面的片斷設計創造的PID,但每當我試圖轉換到下一個狀態(輪詢) defp create(id) do {:ok, pid} = start

    2熱度

    2回答

    我一直在試圖弄清楚如何在調用進程B中捕獲或救援另一個進程A中的錯誤,該進程也殺死了進程A. 這裏是我的代碼: defmodule A do def start_link do GenServer.start_link(__MODULE__, :ok, name: :A) end def fun(fun_loving_person) do GenS

    1熱度

    1回答

    我有2個GenServer模塊 - A和B. B監視A並執行handle_info以在A崩潰時接收:DOWN消息。 在我的示例代碼中,B向A發出同步請求(handle_call)。在處理請求時,A崩潰。 B應該收到:DOWN消息,但它沒有。爲什麼? 當我將handle_call替換爲handle_cast時,B收到:DOWN消息。你能告訴我爲什麼handle_call不起作用,而handle_ca

    2熱度

    2回答

    我正在嘗試將Apple的voip推送通知添加到我們的應用中。我們的後端提供程序由Erlang的Ejabberd服務器和apns4erl服務器1.0.4編寫。 目前,apns4erl 2有能力發送voip推送通知。但它需要OTP 19+編譯,我們的系統在OTP 17.3上運行。 所以我可能知道是否可以同時運行這兩個OTP?我無法將OTP升級到19+。新圖書館需要19+。 是否有很好的方法來使這個要求

    1熱度

    2回答

    我想創建一個程序在一段時間內運行一個函數。我對Elixir仍然很陌生,不知道從哪裏開始。我的想法是,既然我們可以用GenServer來創建一個程序來坐等在消息循環,我可以提供它的消息(也許:kick),當它接收到這個消息時,它會運行的功能。 然而,留下一個問題 - 我怎麼踢它不cron作業?我可以啓動一個線程並運行一個定時器,並在一段時間內啓動它嗎?如果主線程死了 - 是否有一個簡單的方法來通知並

    3熱度

    1回答

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