Как запустить перезагрузку героку из приложения rails? - PullRequest
0 голосов
/ 04 июня 2019

Я понимаю, что из консоли я могу запустить heroku restart.То, что я хотел бы сделать, это иметь кнопку в моем приложении (консоль администратора), где нажатие этой кнопки запускает heroku restart.Кто-нибудь знает, как это сделать и если это возможно?Таким образом, код будет выглядеть примерно так:

<button id="heroku_restart">Restart</button>

$("#heroku_restart").click(function() {
    $.post('/restart', {}).done(function(response) {
        alert(response)
    })
})

class AdminsController

    # this is the action mapped to the route /restart
    def restart 
        # code for heroku restart
    end
end

1 Ответ

0 голосов
/ 04 июня 2019

Согласно описанию, упомянутому в посте, один из способов сделать это:

1) Сначала найдите файл server.pid

pid_file = Rails.root.join("tmp", "pids", "server.opid")

2) Теперь обрежьте содержимое файла

File.open(pid_file, "w") {|f| f.truncate(0)}

3) Наконец, запустите сервер, используя модуль ядра:

Kernel.exec("rails s")

Примечание: как справедливо упомянуто @vpibano, вам потребуется аутентификация для доступа к вашему приложению.

Это не рабочая модель, а способ выполнения требования.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...