• Erlangのライブラリ集
  • それらを用いた並行プログラミングをしていくためのフレームワーク/デザインパターン
  • OTPではOTP内のモジュールを使った便利な定番パターンのことを「Behavior」という名前で定義していて、これらを使うことでElixir(本来はその派生元であるErlang)の並行処理や堅牢なプロセス監視を簡単に実現することができる

GenServer?

  • Elixirの軽量プロセス内で状態(state)を扱うためのBehavior
  • メッセージパッシングで軽量プロセスに保持しておきたい状態を送って、必要な時に(同じくメッセージパッシングで)取り出すことができる
  • 状態が不要になったらGenServer?のプロセスごと破棄すればGCの対象になって勝手にお掃除してくれる

Supervisor

  • プロセスの監視と再起動の全てを執り行うBehavior
  • Elixirではプロセス上でエラーが発生したら、プロセス内でエラーハンドリングをするのではなく、もうプロセスごとクラッシュさせてしまって、それを監視するSupervisorでプロセスを再起動するなり、なにかしらエラーメッセージを吐くなりさせることが推奨されている
  • Supervisorというのはシステム上にただ一つだけ存在する、というものではなく、Supervisorを監視するSupervisorを作成するなど、Tree上に監視体制を構築することが可能

ホットスワップ


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-07-02 (木) 23:17:14 (41d)