gen-server

    0

    1答えて

    スケジューラアプリケーション用の監督ツリーを設定しようとしています(Elixir 1.5構文を使用しています)。アプリケーションべき作業するように: アプリケーションレジストリ&とブーツスケジューラスーパーバイザ SchedulerSupervisorブーツ、そしてstart_childコールバックを経由して子供を動的に追加することができます。これは、スケジュール状態を構築するために使用される初期

    2

    1答えて

    アプリケーション開始時にGenServerを起動する必要がありますが、そのPIDはGenserverを呼び出してキャストする必要があります。どのように私は将来の使用のためのアプリケーションの残りの部分を取得します。

    1

    2答えて

    私はErlangの新しい学習者です。Erlang変数のライフサイクルについて質問があります。 Erlang gen_server comunication -module(wy). -compile(export_all). -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_chang

    0

    1答えて

    私は非同期メッセージを送受信できる基本的なElixirサーバ/クライアントモジュールを作っています。モジュールは次のようになります。 defmodule Bitcoin.WorkerOne do use GenServer def start_link(opts) do IO.puts " - Worker 1 started - " GenServer.start_li

    0

    1答えて

    GenServerを以下のように私のモジュールに使用しています。 initメソッドでは、データベースへのredis接続が作成されます。 putメソッドは、redisdbに保存する値を送信します。 handle_castメソッドは、データベース操作を行うためにredis connectionでコマンドを呼び出します。 defmodule RedisClient do use GenServ

    1

    3答えて

    これはGenServerの有効な使用である可能性があります: process_idがuser_idであり、一意です。プロセスには、DBを介して生成される大きなデータマップのクエリ結果が含まれます。ユーザー100人がシステムにログインしてデータマップを要求すると、すべてがユニークなuser_idによって参照される独自のプロセスに保存されます したがって、地図を尋ねるときに、プロセスIDであるuser

    2

    1答えて

    websocket接続を受け取るws_handlerがあります。 このプロセスは、ログインするために<<"hで始まる入力を待ちます。 それは、デフォルトのWebSocketの状態、(現在のPIDを参照して起動され)プレーヤプロセスID、および送信トレイメッセージ、 `< < "turn1" >> websocket_handle({text, <<"h", Name/binary>>}, Stat

    3

    1答えて

    私は作成しているサーバー(メッセージングサービス)を持っており、ベンチマークのための予備テストを行っています。これまでのところ、データを処理する最速の方法は、ユーザーのプロセスで直接実行し、ワーカー・プールを使用することです。私は産卵をテストしており、それは信じられないほど遅いです。 このテストでは、10kユーザーを接続するだけで、同時に15KBのデータを複数回送信する(またはあまりにも少なすぎま

    2

    2答えて

    最近、私は多数のキー値を更新するという問題に取り組んだ。 当然のことながら、私は、Map.put/3ような操作で、Mapを用いて検討しました。 しかし、これはエリクサーでデータ構造の不変の性質を考えると、不十分なように見えた: iex> m = Map.put(%{}, :a, 1) %{a: 1} iex> Map.put(m, :b, 2) %{a: 1, b: 2} iex> m