2017-01-31 6 views
0

Я развертываю приложение phoenix с edeliver на своем сервере. В случае внезапного перезапуска сервера я хочу, чтобы мое приложение phoenix-app автоматически возобновлялось и контролировалось. Кажется, что инструмент systemd может мне помочь, но для него требуется файл phoenix pid.Как сделать edeliver write pid запущенного сервера phoenix?

Есть ли способ сделать edeliver save phoenix pid файл сразу после развертывания? Возможно, есть лучший способ, чем systemd для восстановления и мониторинга приложения после перезапуска сервера?

примечание: меня больше всего интересует мониторинг pid.

ответ

1

Мне наконец-то удалось найти решение. Фактически после разворачивания крючков в edeliver.

В .deliver/config:

post_start_deployed_release() { 
    if [ "$TARGET_MIX_ENV" = "prod" ]; then 
    echo ${PRODUCTION_HOSTS}; 
    arr=(echo ${PRODUCTION_HOSTS}); 
    for host in ${arr[@]}; do 
     ssh [email protected]${host} "mkdir -p ~/pepe_project/var/run && /usr/sbin/lsof -i:4000 | grep beam.smp | awk '{print $2}' > ~/pepe_project 
    /var/run/phoenix.pid"; 
    done 
    fi 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^