我有一個erlang項目,其狀態是完全只讀的,由ets表和compiled module組成。代碼啓動時需要幾秒鐘的時間來構建表。是否需要OTP?
什麼是最好的方式打包這個,所以它可以被其他應用程序使用?
一些其他的事情要考慮:
- 沒有數據爭用問題或改變狀態,所以好像沒有必要一個gen_server。
- 我喜歡能夠打電話給
application:start/1
,並擁有「只是工作」的東西。 - 某些進程應擁有ets表。看起來我不應該把它留給客戶端代碼。
上面的讓我覺得我應該創建一個應用程序,並調用來自上司的init/1
功能設置代碼,但我不能確定這是否是接近它一個愚蠢的方式。
我喜歡它!感謝您的意見。 :) –
不客氣! –
我只是去做這件事,並意識到開始回調需要返回'{ok,Pid}'。通常'Pid'是指最高管理者流程。如果在我的情況下不存在,我應該返回'{ok,self()}'嗎? –