問題タブ [erlang-otp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - スーパーバイザーの子が start_link からエラーを返したときに、エラーの理由を常にログに記録/表示するにはどうすればよいですか?
gen_server
スーパーバイザー (それ自体はアプリケーションによって開始されます) から を開始する場合、gen_server の が返されない場合に問題が発生start_link
します{ok, ...}
が{error, Reason}
、表示される唯一のエラー メッセージは次のとおりです。
終了するためのReason
ものは表示/ログに記録されません。
これらのエラーがスーパーバイザーに返されるのを確認/記録する方法はありますか?
私が使用している子仕様は、例えば次のとおりです。
編集:明確化
私は error_logger について知っており、すでに使用しています。問題は、何かをログに記録する方法ではなく、スーパーバイザーに終了の理由をログに記録させる方法です。たとえば、誰がエラーを返し、何が返されたかをログに記録します。
そして、これも邪魔にならないようにするために、はい、私は sasl をオンにして erlang を開始します:
event-handling - C Node で Erlang OTP 動作を取得できますか?
たとえば、現在、erlang ノード ( ENと呼びます) に接続し、RPC を使用して OTP 動作を使用する C ノード ( CNと呼びます) があります。したがって、CNからENのイベント マネージャにイベントを送信するには、 CNをENに接続して次のようにします。
しかし、私の C ノードは実際にはノードとして動作していません (つまり、なぜリモート プロシージャ コールのみを使用するノードを作成するのでしょうか?)。
C ノード内で OTP 動作を直接使用する方法はありますか?
存在しない場合、OTP で使用されているメッセージ形式を調べて、その形式を使用してメッセージを送信する必要があります (つまり、OTP の動作を偽装できますか?)。私はこの考えが好きではありません.OTPの実装などの変更に注意する必要があります.
私の要件にはレイテンシーの厳しい制限があります。これは、C プロセスと Erlang の間の通信の選択にどのように影響しますか (RPC は私を行き詰まらせますか? など)?
sockets - 受信バッファの制限
この方法でクライアントとの接続を確立しました。
このコードは、メッセージ処理を実行します。
私のOSはWindowsです。メッセージのサイズが 1024 バイトの場合、 でバイトが失われますData
。サーバーは ACK + FIN をクライアントに送信します。
Erlang は 1024 バイトに制限されていると思われるため、 を定義しrecbuf
ました。
問題の場所: Erlang、Windows、ハードウェア?
ありがとう。
erlang - スーパーバイザーは独自のスーパーバイザーを開始する必要がありますか?
start_child
スーパーバイザーが 1 人いて、このスーパーバイザーに対していくつか実行する必要があるとします。最初にすべてのスーパーバイザーを起動する必要がありますか? supervisor:start_child(my_sup,[])
または、my_sup を開始せずにのみできますか?
erlang - Erlang: Supervisor(3)、子プロセスの追加
simple_one_for_one
動的な子プロセスを既存のスーパーバイザーに追加する方法 (再起動戦略)の例はどこにありますか?
erlang - Erlang 動的スーパーバイザーは gen_server を開始します
他のスーパーバイザーを作成するルート スーパーバイザーがあります。
そして、gen_server - リスナーがあります。スーパーバイザーが作成されたときに、この gen_server をpopd_listener_sup
スーパーバイザーで実行するにはどうすればよいですか?
ありがとうございました。
networking - Erlang: プログラムでリモートノードを起動する
シェルからノードを起動できることは承知しています。私が探しているのは、モジュール内からリモート ノードを起動する方法です。検索しましたが、何も見つかりませんでした。
どんな助けでも大歓迎です。
erlang - Erlang / OTP:既存のモジュールへの変更
モジュールの機能の1つを変更する必要がある問題の解決策に取り組んでいますgb_trees
。
編集済みバージョンのコンパイル中にエラーが発生しますgb_trees
:
変更を加えて既存のモジュールをコンパイルする方法は何ですか?
erlang - Erlang OTP I/O - いくつかの質問
erlang の最大の採用者の 1 つは通信業界であると読んだことがあります。ノード間でバイナリデータを送信し、簡単な冗長性、効率性、および並列性を提供するためにそれを使用していると思います。
erlang は実際にバイナリだけをセントラル ノードに送信しますか?
バイナリデータを実際の音声に解析する直接の責任はありますか? それとも、ポート経由で別の言語/プログラムに供給されますか?
電話の速度、つまり私が何かを言ってからあなたがそれを聞くまでの遅延などの速度に責任があります.
erlang は並列動作を容易にするためにのみ使用され、c++ などは順次関数の処理速度のために使用される可能性はありますか?
erlang - Erlang ワークフロー
Erlang ワークフローをどのように編成していますか? 私は今、いくつかのErlangを学んでおり、各編集後にRebarを使用し、リリース全体を再コンパイル、再構築、再起動しています(OTP風に保つようにしています)。これを行うためのよりスマートな方法があると確信しています。