アプリケーション開始時にGenServerを起動する必要がありますが、そのPIDはGenserverを呼び出してキャストする必要があります。どのように私は将来の使用のためのアプリケーションの残りの部分を取得します。今後の使用のためにGenServerのpidを保存する
2
A
答えて
7
もしGenServerが死んでスーパーバイザによって再起動されると、新しいpidが送られ、あなたの "保存された"ものはもう有効になりません。あなたはGenServerにアクセスすることができません。その後、コール/キャストは次のようになり
{:ok, _} = GenServer.start_link(MyApp, [:hello], name: :your_genserver_name)
:これは、あなたがここに名前を使うべき理由です
def get_state do
GenServer.call(:your_genserver_name, {:get_state})
end
詳細は、ドキュメントのthis一部をご参照ください。
関連する問題
- 1. エリクサーテストgenserver - 親PIDを渡す
- 2. 今後のアップデートに使用するユーザー入力を保存したい
- 3. opencpuでのデータアップロード後に今後の再利用のためにセッションの詳細を保存します
- 4. 後で使用するためのポインタ値の保存
- 5. 後で使用するためにDjangoフォームの提出を保存する
- 6. 後で使用するためにプロセスのメモリを保存しますか?
- 7. 今後の使用のためにクレジットカード/デビットカードの詳細を保存する方法はありますか?Braintree Android SDKを使用する
- 8. チャネルでGenServerを使用しています。どのようにpidを維持するには?
- 9. ライブラリに保存するための録画ビデオURLを後で保存する
- 10. 後でJSで使用するための選択肢を保存する
- 11. 次回の使用のためにリストコンテンツを保存する
- 12. データベースのデータを保存するために使用するファイルタイプ
- 13. Node.js JSONデータを後で使用するために配列に保存する
- 14. Pythonリクエスト - 後でurlを使用するためにクッキーを保存する
- 15. ASP.NETで後で使用するための文字列を保存します
- 16. 後でレールで使用するためにリダイレクトURLを保存する4
- 17. R後で使用するために入力を保存するShiny App
- 18. 後でScalaで使用するためにSpark StandardScalerを保存します
- 19. フルリリースを保存するためのアーティファクト・リポジトリの使用
- 20. Djangoの保存メソッドをオーバーライドするための使用例
- 21. 長寿命オブジェクトを保存するためのサービスの使用
- 22. 後で使うためのスケーリングパラメータの保存方法
- 23. laravel hook intoすべてのモデルのための保存前と後の保存
- 24. 今後使用するために、コンソールウィンドウのバッファまたは内容を保存することはできますか?
- 25. アドインで使用するためのXMLデータの保存
- 26. データを保存するために使用できる技術
- 27. 後でクリアするためにsetIntervalを保存する
- 28. 後で使用するためにオブジェクトのリストをメモリに保存する方法
- 29. 後で使うためにプロットされたデータを保存する
- 30. pidを使ってcmdを使ってDebian Xfceにマウスパッドを保存する
名前付き 'GenServer'の作成はどうですか? 'GenServer.start_link/3'の':name'オプションを参照してください。 – Dogbert
'PID'を格納することは一般的には良い考えではありません。なぜなら、' PID'はクラッシュに耐えられず、 'name'はクラッシュしません。 – mudasobwa
@Dogbertありがとうございます。使用する:名前 –