私は状態が完全に読み込み専用で、etsテーブルとcompiled moduleで構成されるerlangプロジェクトを持っています。コードの開始時にテーブルを構築するのに数秒かかります。はOTPが必要ですか?
これをパッケージ化して他のアプリケーションで使用する最良の方法は何ですか?考慮すべき
いくつかの他の事:
- そこにはデータ競合問題や状態変化がないので、gen_serverの必要がないかのように思えます。
- 私は
application:start/1
に電話して「ただ仕事」をするのが好きです。 - 一部のプロセスでは、etsテーブルを所有する必要があります。私はそれをクライアントコードに任せてはいけないようです。
上記は、私がアプリケーションを作成すべきだと思う、と上司のinit/1
関数からセットアップコードを呼び出すために私をリードし、これはそれにアプローチする愚かな方法である場合、私はわかりませんよ。
私はそれが好きです!入力いただきありがとうございます。 :) –
よろしくお願いします! –
私はちょうどこれを行うために行き、開始コールバックが '{ok、Pid}'を返す必要があることを認識しました。通常、 'Pid'はスーパーバイザープロセスのトップを紹介します。それが私の場合に存在しなければ、 '{ok、self()}'を返すべきですか? –