1. Куча / Говнокод #14373

    +127

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    % restarter.erl
    
    -module(restarter).
    % Save it to restart the node!
    
    % где-то в коде при запуске приложения
       ....
       ok = sync:go(),
       sync:onsync(fun(Mods) ->
                    case lists:member(restarter, Mods) of
                        true -> 
                            lager:warning("Restarting node!"),
                            init:restart(); 
                        _ -> ok
                    end  
                end),
       ....

    Клуб веселых и находчивых эрлангеров.
    Придумал такую фичу: если мне во время разработки надо перезапустить тестовую ноду, я просто жму сохранить в открытом файле restarter.erl
    Sync подхватывает пересохраненный файл, компилит его и вызывает коллбэк со списком измененных модулей. Собственно, если рестартер среди них, то нода перезапускается :)

    Запостил: tirinox, 16 Января 2014

    Комментарии (6) RSS

    • а в чем говно ?
      Ответить
      • Ну не знаю, потому что через жопу.
        Мне кажется, тру-эрлангеры берут какой-нить emacs и назначают там на какое-нить C-E C-R действие на вызов этой ф-ции.
        Ответить
        • для эрланга emacs шелл открывает обычно, можно из него функцию дернуть, не так ведь часто это нужно

          Если интересно, есть статья на русском
          http://alexott.net/ru/writings/emacs-devenv/EmacsErlang.html
          Ответить
          • Спасибо.
            Я уже так пробовал... удобно, только Емакс не переношу :)
            Ответить
        • Меньше кнопок жать. нажал сохранить оно все само сделалось
          Ответить
          • У меня нужно еще мышкой в файл тыкнуть :)
            Ответить

    Добавить комментарий