cost 222 ms
為什么 gen_server:reply/2 在某些情況下工作而在其他情況下導致超時

[英]Why does gen_server:reply/2 work in some instances while causing timeouts in others

我在讓gen_server:reply在我的代碼中的某些但不是所有情況下工作時遇到問題,盡管在我看來代碼在結構上與它工作的區域相似,但它不工作。 我不知道這是否是由於一些概念上的誤解或gen_server:reply/的不完整。 我已經創建了如下所示的 MRE 代碼(使用 EUnit 測試並准備好即 ...

使用 OTP (Elixir) 的堆棧服務器中的彈出功能

[英]Pop functionality in stack server with OTP (Elixir)

在 Bruce Tate 的 Programmers passport OTP 一書中,有一個構建堆棧服務器的練習,類似於 GenServer 在其文檔中給出的示例,但沒有使用 GenServer,即僅具有 OTP 功能。 實現堆棧的彈出功能是問題所在。 這個 function(連同堆棧的推送 fu ...

Elixir - 捕獲:.netunreach 和:ehostunreach 錯誤

[英]Elixir - Catching :enetunreach and :ehostunreach errors

我有一個 GenServer 每隔 x 秒創建一個與遠程主機的連接,我很難捕捉到與網絡相關的錯誤(更具體地說是:.netunreach和:ehostunreach )。 我正在使用的基本代碼基本上是這樣的: 已經嘗試過catch和raise但它總是會因這些錯誤而失敗。 ...

Elixir - 為 GenServer 添加日志記錄功能

[英]Elixir - Adding logging capabilities to GenServer

我目前正在嘗試向Elixir中的 GenServer 添加日志記錄功能。我目前的願景是編寫自己的模塊(即LoggingGenServer ),並通過使用 LoggingGenServer 簡單地替換use GenServer use LoggingGenServer 。 這樣,只要它首先使用GenS ...

如何使用 rebar3 版本將 gen_server 作為獨立節點托管?

[英]How to host a gen_server as a standalone node using rebar3 release?

我有一個rebar3項目,它有一些gen_server實現。 我想以這樣的方式編寫一個應用程序,該版本將把gen_server作為一個 Erlang 節點在守護進程模式下托管。 例子有一些 gen 服務器:%% file src/my_gen_server.erl -module(my_gen_s ...

是否有可用於在 gen 服務器中添加條件的選項?

[英]Is there an option available for adding conditions in gen server?

感謝您查看問題,如果你們能解決我的問題,這將是有幫助和感激的。 現在這是我的問題.. 我在 erlang 中創建了一個用於銀行業務的 gen 服務器,我只是將它用於存款和取款。 它工作得很好,我現在需要的是為撤回添加條件。 例如,如果要提取的金額使余額低於 100,則必須中止提取,並且必須顯示諸如 ...

genserver 實現打開 redis state

[英]genserver implementation to open redis state

我想打開一個 Redis 連接,我已經為系統內的持久連接編寫了類似這樣的代碼。 我這樣做的方式是調用使用 Redix 客戶端的 handle_info function。 我已經定義了 redix 的依賴 我用 redix 客戶端調用帶有句柄信息的服務器。 當我使用 PID 在 Redis 中設置 ...

Elixir:用worker找質數,只占用1個CPU

[英]Elixir: Finding Prime Numbers with Workers, Only 1 CPU Used

我正在學習 Elixir 並決定使用GenServer和 workers 編寫一個演示應用程序來查找素數。 應用設置我按如下方式創建了我的應用程序: 結構 lib/prime_numbers.ex 這是執行實際邏輯以確定給定數字是否為素數 ( is_prime/1 ) 的模塊: lib/prime ...

GenServer:continue 調用是同步的嗎?

[英]Is a GenServer :continue call synchronous?

GenServer handle_call/3實現可以返回:continue調用額外的 function。對於這個 function 相對於其他消息何時運行是否有任何保證? 例如,考慮這個只保留運行計數器的模塊:defmodule Tmp do use GenServer def st ...

Erlang:無法在另一個節點上啟動主管

[英]Erlang: Cannot start supervisor on another node

我有一個簡單的主管,看起來像這樣 當我在 shell 上運行它時,它工作得很好。 但是現在我想在不同的節點上運行這個主管的不同實例,稱為 foo 和 bar (從erl -sname foo和erl -sname bar開始,來自一個名為 main erl -sname main的單獨節點)。 這就 ...

Erlang: ets 表在 gen_server 崩潰並重啟后不保存數據

[英]Erlang: ets table does not persist data after gen_server crashes and restarts

我有一個 gen_server,它將對象的位置存儲在這樣的 ets 表中 問題是當主管啟動my_gen_server並且進程崩潰並重新啟動時,ets 表消失了,我丟失了所有 object 數據。 我搜索了這個問題,到處都說在 ets 表中存儲數據有助於使 state 持續存在,但我無法在任何地方找到 ...

Erlang:主管中的 gen_server 不會在最后已知的 state 重新啟動

[英]Erlang: gen_server in supervisor does not restart at the last known state

我在 Erlang 工作,主管是這樣的: 和一個看起來像這樣的 gen_server: move(Name, {DestX, DestY})基本上將 Name 的位置移動到新的 position。現在,當我啟動主管然后啟動 gen_server 並嘗試使用erlang:exit(Pid1, die ...

Erlang:初始化后在另一個節點上啟動 gen_server 失敗

[英]Erlang: starting gen_server on another node fails after init

我在嘗試在另一個節點上運行 gen_server 時遇到了一些問題。 所以我有一個通用的 gen_server class 看起來像這樣 現在我想啟動多個節點,這些節點將運行相同的 gen_server 並以某種方式相互通信,並使用另一個節點來協調它。 (所有這些節點都在我的本地終端上啟動)。 因 ...

Erlang: supervisor start_child 成功但沒有添加child

[英]Erlang: Supervisor start_child succeeds but no child is added

我正在努力在 Erlang 中建立一個如下所示的主管: 這就是我的 gen_server 的樣子: 我的 gen_server 工作得很好。 當我運行主管時: 我不明白{error, ok}是從哪里來的,如果有錯誤,那么是什么原因造成的。 所以這就是我檢查孩子狀態時得到的: 這意味着盡管它調用了 ...

Elixir/Erlang - 跟蹤郵件何時到達郵箱

[英]Elixir/Erlang - Trace when a message arrives in the mailbox

相當直接的問題,是否可以跟蹤到達Process / GenServer (郵箱)的消息? 要知道可以在處理消息后立即跟蹤消息(從郵箱中取出),但我似乎無法找到一種方法來掛鈎消息的實際到達。 ...

gen_server ,服務器不能調用自己的 API 函數?

[英]gen_server , a server can’t call its own API functions?

當我閱讀 Erlang OTP Action book 時,我在第 117 頁發現了這個提醒: 使用您的 RPC 服務器,您可以嘗試調用從服務器端可用的任何模塊導出的任何函數,除了一個:您自己的 tr_server:get_count/0。 通常,服務器不能調用自己的 API 函數。 假設您從回調 ...

使用 via 元組注冊 GenServer 時遇到問題。 ** (UndefinedFunctionError) function PokerServer.whereis_name/1 未定義或私有)

[英]Trouble registering a GenServer with a via tuple. ** (UndefinedFunctionError) function PokerServer.whereis_name/1 is undefined or private)

這是一個非常簡單的 GenServer。 我正在嘗試使用 via 元組在初始化時注冊它。 除非我誤解了文檔中的某些內容,否則我應該能夠在 GenServer.start/3 的第三個參數中將 via 元組作為名稱傳遞除了當我嘗試在 iex shell 中啟動進程時,我觸發了一個錯誤 編輯:我使用 ...

在不通過 Common Test 的情況下殺死 gen_server

[英]Killing a gen_server without failing the Common Test

我實現了一個故意崩潰的模塊(以測試另一個正在監視它的模塊的功能)。 問題是,當這個 gen_server 崩潰時,它也會導致它的通用測試失敗。 我試過使用 try/catch 並設置process_flag(trap_exit, true)但似乎沒有任何效果。 這是一些相關的代碼: -module ...

通過環境。 動態變量到應用程序模塊,在運行時?

[英]Passing an env. variable dynamically to Application module, at runtime?

在我的 opt 應用程序中,我有一些在應用程序啟動時運行的東西: 但是,我發現每當我在新服務器上部署應用程序時,它都會無法啟動,因為尚未創建數據庫。 即使通過控制台啟動應用程序也無法解決問題,因為它仍然會因同樣的原因崩潰。 如何解決? 我應該引入一個布爾環境。 變量“disable_db_ ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM