Skip to content

w495/nodectl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node controller (Что это)

Простой динамический перезагрузчик кода для erlang в горячем режиме. Стандартный набор ф-ий для управления нодой и приложением. Собрано из кусков разных приложений. Возможно не всегда корректно работает в текущем виде. Пока проблем замечено не было.

Requirements (Что нужно)

  • gnumake
  • erlang
  • rebar

Example (Пример)

Пример можно найти в ./priv/example-ctl.sh

Для горячей замене по make

erl \
    -pa $BINPATH \
    -boot start_sasl \
    -config ${CONFIG} \
    -name ${MAIN_NODE} \
    -setcookie ${COOKIE} \
    -s nodeclt_reloader \
    -s ${MAIN_APP} \
    -mnesia dir $SESSIONDBPATH \
    ${ERL_ARGS} \
"$@"

Для горячей замене по ./ reload_code

erl \
    -noinput \
    -pa $BINPATH \
    -name ${CTRL_NODE} \
    -setcookie ${COOKIE} \
    -s nodeclt \
    -hidden \
    -connect_all false \
    ${ERL_ARGS} \
    -extra -n ${MAIN_NODE} \
"$@"

Параметры

  • start [-detached] — запусткает ноду;
  • startd — запусткает ноду в фоне, псевдоним к 'start -detached';
  • reload_code — заменяет код;
  • reload_cfg — заменяет конфигурацию нодыы;
  • status — возвращает статус приложения;
  • stop — останавливает приложение и ноду;
  • stop_app — останавливает только приложение;
  • start_app — запускает приложение поверх запущенной ноды;
  • version — возвращает версию приложения.

Credis (Кто это натворил)

  • Сергей Кожевников (Serge Kozhevnikov aka cff, 2011);
  • Илья w-495 Никитин (w-495, 2013).
  • В отлельных модулях указаны авторы, чьи варианты были взяты за основу.

TODO

* Документировать код.
* Убрать лишнее и привести в нормальный вид.

About

erlang node controller

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published