Erlang рабочий процесс - PullRequest
       24

Erlang рабочий процесс

9 голосов
/ 15 февраля 2011

Как вы организуете свой рабочий процесс erlang?Сейчас я изучаю некоторый Erlang и использую Rebar , перекомпилируя, перестраивая и перезапуская весь релиз (я стараюсь сохранить OTP'ish) после каждого редактирования.Я уверен, что есть более разумный способ сделать это.

Ответы [ 4 ]

3 голосов
/ 17 февраля 2011

С Chicago Boss вы просто нажимаете «Обновить» в своем веб-браузере:

http://www.chicagoboss.org/

Даже если ваша цель не веб-разработка, это может быть способ изучить Erlangэто веселее, чем ваш текущий рабочий процесс.CB довольно распечатывает ошибки компиляции и времени выполнения прямо в браузере.

3 голосов
/ 25 октября 2012

Я использовал Синхронизация , чтобы избежать страшного цикла редактирования / перекомпиляции / перезапуска. Он отслеживает изменения в ваших исходных файлах, затем перекомпилирует и перезагружает только измененный модуль. Он выводит на консоль сообщения об ошибках и предупреждения и отправляет их на уведомление-отправку / рычаг, если доступно.

Это так же просто, как бегать sync:go().

Посмотрите на этот шаблон арматуры для лучшего примера.

Если вы разрабатываете в кластере, другой замечательной функцией является «режим исправления» синхронизации. В «режиме исправления» каждый раз, когда синхронизация успешно компилирует модуль, она отправляет скомпилированный код на каждый узел, подключенный к кластеру, и перезагружает модуль!

3 голосов
/ 15 февраля 2011

В Etorrent я использую небольшой трюк, который вам может понравиться:

Когда вы создали разрабатываемый выпуск, вы можете выполнить команду make console, которая имеет следующее определение:

console:
    dev/etorrent-dev/bin/etorrent console \
            -pa ../../apps/etorrent/ebin

в основном, он использует релизные ebins для большинства вещей, но переопределяет ebin приложения, чтобы быть снаружи в точке, где вы обычно строите программное обеспечение.Теперь, запустив консоль, вы можете отредактировать ваш код, запустить make (я нажал комбинацию клавиш в Emacs), исправить ошибки, снова запустить make и так далее.Когда вы удовлетворены своими изменениями, вы заходите в консоль (оболочка erlang) и выполняете l(ModuleToLoad), после чего работающая система получает новый код.OTP автоматически обнаружит изменение кода в горячем режиме и изменит процессы.По сути, вам достаточно редко перезагружается при работе с кодом.

В настоящее время у нас также есть тесты, поэтому вы можете выполнить make test в etorrent, чтобы тестовая среда запускалась на вашем вновь сформированном коде до внедренияВы хотите немного больше гарантии, что новый код работает.

0 голосов
/ 08 июня 2017

Для автоматической перезагрузки файлов src при каждом редактировании, вы можете попробовать автоматический плагин в rebar3.

Я недавно перешел на rebar3 и обнаружил, что с ним гораздо проще работать по сравнению с rebar

...