如何組織您的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的併發性及其正確的工作流程
- 3. Erlang中的流程平衡
- 4. Erlang gen_event不工作
- 5. Sidekiq工作流程
- 6. NetSuite工作流程
- 7. Drupal工作流程
- 8. AsyncTask工作流程
- 9. CMake工作流程?
- 10. NetSuite工作流程
- 11. Testflight工作流程
- 12. 工作流程擰
- 13. Docker工作流程
- 14. sharepoint工作流程
- 15. GIT:Gitflow工作流程
- 16. Matplotlib工作流程
- 17. Couchbase工作流程
- 18. Phonegap工作流程
- 19. WebRTC工作流程
- 20. svnmerge工作流程
- 21. sharepoint工作流程
- 22. Dudamobile工作流程
- 23. 工作流程 - ServiceNow
- 24. idempiere工作流程文檔流程
- 25. 流程/工作流程引擎
- 26. Liferay工作流程流程(即:Kaleo WorkFlow)
- 27. Java中的流程/工作流程
- 28. html流程圖/工作流程圖
- 29. 帶VS2012工作流程的TFS2010工作流程構建流程模板
- 30. 將SharePoint Designer工作流程遷移到Visual Studio工作流程