我有一個Erlang應用程序,它在另一個應用程序的deps目錄中有一個依賴項。何時使用erlang應用程序:start或included_applications和主管?
從我的理解我可以;
a)通過調用application:start(some_other_app)啓動應用程序,並顯示它在Observer中獨立運行,從我的包含應用程序啓動我的依賴應用程序。
b)將我的依賴應用程序包含在我的.app文件中,包含{included_applications,[some_other_app]},以便應用程序加載並且不啓動,然後從我自己的頂級主管啓動包含的應用程序。這再次啓動包含的應用程序,並在Observer中顯示其在我自己的監督層次結構下運行。
我的問題是我應該什麼時候使用這兩種方法?如果我使用選項「a」,並且我的依賴應用程序退出,它將被重新啓動,或者我應該使用方法「b」,以便相應地監控我擁有的任何依賴項。
在旁註中我使用鋼筋來打包和管理我的依賴關係。
謝謝,
Andy。
感謝marcelog,有助於澄清事情。我認爲應用程序控制器會確保我的依賴項被加載,並且我的頂級主管的職責是啓動我的依賴應用程序的主管,還是我可以從我的應用程序描述符執行此操作?關於應用程序的好處:start/2如果必須使用選項a),我會記住這一點。 – Vivilar
@Vivilar嗨,請參閱:http://www.erlang.org/doc/man/app.html填充{applications,Apps}選項將使這些應用程序在您的應用程序之前啓動(及其縮放)。 included_applications不會啓動它們,只是加載它們。很高興能有幫助,如果有用,請不要忘記接受答案。歡呼 – marcelog
是的,謝謝我沒有意識到添加到{應用程序,應用程序}的應用程序也啓動時,與reltool生成一個完整的版本。它的失敗,如果我剛剛啓動我的應用程序與應用程序:本地啓動(my_app)erlide,但可以輕鬆地寫一個函數來解決這個問題。感謝接受這個答案:-) – Vivilar