【Elixir】Phoenix PubSub を使ってリアルタイムデータ共有の方法
Phoenix PubSubは、Elixirを使用したリアルタイムデータ共有の鍵となる機能です。
リアルタイムに他のユーザなどにデータ共有が可能です。
Phoenix PubSubの基本的な使用方法からサブスクライブの停止までの詳細なプロセスを紹介しています。
確認環境
- Elixir 1.14.2
- Phoenix 1.6.3
PubSubの設定
Phoenix PubSubを使用するための設定をします。
Elixir Phoenix を入れると一緒に入ってると思いますが入ってない場合は以下を参考にしてください。
依存関係の追加
最初に、mix.exs ファイルにphoenix_pubsubパッケージを追加します:
| |
アプリケーションの設定
次に、config/config.exsにてPubSubの設定を行います。
Adapterを設定する場合にこちらを使用してください。
通常通りに使用するのであればこちら不要です。
| |
アプリケーションの起動時の設定
MyApp.ApplicationにPubSubを監視するように設定します。
| |
メッセージの受信
LiveViewでメッセージを受信するために、以下のようにサブスクライブを開始します。
| |
受け取るメッセージのハンドラーは以下のようになります。
| |
メッセージの送信
以下のようにメッセージをPubSubで送信できます。
| |
サブスクライブの停止
PubSubからのサブスクライブを途中で停止する場合は、以下のコードを使用します。
| |
まとめ
Phoenix PubSubは、Elixirにおけるリアルタイムデータ共有に強力なツールです。
これでリアルタイムの通信を実現できます。