問題タブ [gen-server]
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 - Erlangはgen_serverを停止します
私はgen_serverを持っています:
今、私はこの世代のサーバーを停止する関数を書きたいと思います。私は持っています:
私はそれを実行します:
だが:
仕事です。
gen_serverを名前で実行し、名前で停止するにはどうすればよいですか?
ありがとうございました。
erlang - Erlangがメッセージをグローバルgen_serverにキャストしました
それは前の質問の続きです
私はgen_serverを持っています:
このgen_serverにメッセージを正しく送信する方法。例:別のファイルで私は次のように作成します:
私のgen_serverファイルには次のものがあります。
gen_serverをテスト名で開始します。
server:start(test)。テスト開始
私が呼び出すとき、gen_server:cast(test, message).
それはシェルに何も出力されません。handle_castの呼び出しを確認するにはどうすればよいですか?
ありがとうございました。
erlang - Erlanggen_serverが不正な戻り値をキャストしました
gen_serverにメッセージをキャストしようとしています:
ハンドラーは次のとおりです。
しかし、実行するgen_server:cast
と、gen_serverはエラーで終了します。
なぜ私は得るのbad_return_value
ですか?
erlang - Erlangstartgen_serverブロックされたコード
erlangコードにgen_serverがあります。そして、私がそれを実行しようとすると、この後の次のコードは機能しません。例えば:
現在、io:format/1は機能しません。そして、spawnを使用してgen_serverを実行すると、次のようになります。
これでio:formatが機能しました。なんで?
ありがとうございました。
erlang - Erlangのgen_serverで定期的にアクションを実行するにはどうすればよいですか?
さらに、毎分1つのアクションを実行するgen_serverを起動したいと思います。
それをスケジュールするための最良の方法は何ですか?
erlang - erlangでgenサーバーをテストするには?
私は erlang の初心者で、基本的な gen サーバー プログラムを次のように書きます。
ところで:プログラムはコンパイルできますが、それは良いプログラムではありません。何かを印刷して、動作することを確認したいだけです:)
erlang - 2つのgen_tcp間のデッドロックの解決
erlangアプリケーションのコードを閲覧しているときに、興味深い設計上の問題に遭遇しました。状況を説明させていただきますが、PIAの関係でコードを投稿できません。
コードは、2つのgen_server
モジュールが何らかのリソースの割り当てを担当するOTPアプリケーションとして構造化されています。アプリケーションはしばらくの間完全に実行され、大きな問題は発生しませんでした。
トリッキーな部分は、最初の人がgen_server
2番目の人に十分なリソースが残っているかどうかを確認する必要があるときに始まります。Acall
は、(非常に特殊なケースで)call
最初のgen_serverに発行するユーティリティライブラリを呼び出す2番目のgen_serverに発行されます。
私はerlangに比較的慣れていませんが、この状況では2つのgen_serverが互いに待機するようになると思います。
これはおそらく設計上の問題ですが、この種の「ハング」を防ぐことができる特別なメカニズムがOTPに組み込まれているかどうかを知りたかっただけです。
どんな助けでもいただければ幸いです。
編集:答えを要約するには:2つが周期的に相互に関係している状況でgen_server
はcall
、アプリケーションの設計にもう少し時間を費やしたほうがよいでしょう。
ご協力いただきありがとうございます :)
erlang - Erlang メッセージで送信できる型の種類は?
主に、Erlang の分散セットアップで関数をメッセージで送信できるかどうかを知りたいです。
マシン 1:
マシン 2:
それは理にかなっていますか?
erlang - Gen_Fsm をいつ使用し、いつ Gen_Server を使用するか?
Gen_Fsm と Gen_Server のドキュメントを調べたところ、多かれ少なかれ、似たような動作をすることがわかりました。私の意見では、ブロードキャストを送信したり、tcp sock をリッスンしたりするためのループ関数が 1 つある場合は、Gen_Fsm を使用するか、gen_server を使用することをお勧めします。私はそれが正しいかどうか知りたいですか?
erlang - gen_server:cast/2 を使用した Erlang 非同期メッセージ処理
gen_server:cast/2 を使用したErlang非同期メッセージ処理の良い例を探しています。
Module:handle_cast/2 を介してリクエストを受信し、それをモジュールのローカル キューに保持し、明示的にメッセージを送信することで、後でリクエストに対応する応答メッセージを送り返す OTP ssh モジュールの例を見てきました。呼び出し元に。読んでみると、コードがほとんど理解できず、アイデアが掴めませんでした。
疑似コードの一部を歓迎します。