如何組織您的erlang工作流程?我正在學習一些Erlang,並且我正在使用Rebar,在每次編輯後重新編譯,重新構建並重新啓動整個發行版(我試圖保留OTP版本)。我很確定有一個更聰明的方法來做到這一點。Erlang工作流程
9
A
回答
3
在Etorrent,我使用的一個小竅門,你可能會喜歡:
當你建立了一個開發版本,你可以執行命令make console
其具有以下定義:
console:
dev/etorrent-dev/bin/etorrent console \
-pa ../../apps/etorrent/ebin
基本上,它使用大多數東西的發佈版本,但覆蓋應用程序ebin在通常構建軟件的位置。現在,運行一個控制檯,您可以編輯您的代碼,運行make
(我在Emacs中點擊一個組合鍵),修復錯誤,再次運行make
等等。當您對更改感到滿意時,可以進入控制檯(erlang shell)並執行l(ModuleToLoad)
,此時正在運行的系統會獲取注入的新代碼。 OTP將自動獲取熱部署代碼更改並更改進程。從本質上講,只有在處理代碼時才需要重啓。
如今,我們也進行了測試,因此您可以在etorrent中執行make test
,讓測試框架在注入之前在您新形成的代碼上運行,如果您希望更多地保證新代碼的正常工作。
3
芝加哥老大你只需點擊「刷新」,在您的網頁瀏覽器:
即使你的目標不是網絡的發展,這可能是學習二郎比更有趣的方式您目前的工作流程CB在瀏覽器中正確顯示編譯和運行時錯誤。
3
我一直在使用Sync來避免可怕的編輯/重新編譯/重新啓動循環。它會監視源文件的更改,然後僅重新編譯和重新加載更改後的模塊。它將錯誤和警告輸出到控制檯,並將它們發送到notify-send/growl(如果可用)。
這是因爲運行sync:go().
看看this rebar template一個更好的例子一樣簡單。
如果您正在集羣上開發另一個很棒的功能,那就是sync的「補丁模式」。使用「補丁模式」時,每次同步成功編譯模塊時,它會將編譯後的代碼發送到連接到羣集的每個節點並重新加載模塊!
0
爲了在每次編輯時自動重新載入src文件,您可以試試rebar3中的自動插件。
我最近搬到了rebar3,發現它比螺紋鋼更容易操作。
相關問題
- 1. Erlang中的流程平衡
- 2. Erlang gen_event不工作
- 3. WebRTC工作流程
- 4. sharepoint工作流程
- 5. NetSuite工作流程
- 6. CMake工作流程?
- 7. sharepoint工作流程
- 8. GIT:Gitflow工作流程
- 9. Docker工作流程
- 10. svnmerge工作流程
- 11. 流程/工作流程引擎
- 12. html流程圖/工作流程圖
- 13. 從狀態工作流程內啓動順序工作流程
- 14. 工作流程基礎工作流程類型
- 15. Sharepoint Designer 2007 - 工作流程和輔助工作流程關係
- 16. 啓動多個工作流程的單一工作流程
- 17. 在工作流程中調用工作流程
- 18. 從另一個工作流程中運行工作流程
- 19. 如何暫停工作流程並恢復工作流程?
- 20. 將SharePoint Designer工作流程遷移到Visual Studio工作流程
- 21. Windows工作流程:「singleton」式工作流程?
- 22. 一般工作流程 - 問題/ ez組件工作流程
- 23. 窗口工作流程4工作流程檔位
- 24. 工作流程中pimcore不工作
- 25. Erlang Mnesia Distribution如何工作
- 26. Erlang調試器不工作
- 27. 什麼是Erlang的流操作方法?
- 28. 工作流程/設計
- 29. CMake往返工作流程
- 30. App Engine的工作流程