我了解可以从控制台运行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
。有谁知道该怎么做,如果可能的话?所以代码看起来像这样:
conversions = {
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5,
'f': 6,
'g': 7,
'h': 8,
'i': 9,
'j': 10,
'k': 11,
'l': 12,
'm': 13,
'n': 14,
'o': 15,
'p': 16,
'q': 17,
'r': 18,
's': 19,
't': 20,
'u': 21,
'v': 22,
'w': 23,
'x': 24,
'y': 25,
'z': 26
}
def conversion(word):
for letter in word:
word.replace(letter, str(conversions[letter]))
word = list(word)
for number in word:
number = int(number)
return sum(word)
答案 0 :(得分:0)
按照帖子中提到的描述,一种方法是:
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所正确提到的,您将需要身份验证才能访问您的应用程序。
这不是工作模型,而是一种达到要求的方法。
希望有帮助!!
答案 1 :(得分:0)
因此,根据@vpibano,在撰写本文时,使用platform-api
进行操作很容易。这是我的网站上的按钮发布到的操作:
def restart
heroku = PlatformAPI.connect_oauth(ENV["heroku_oauth_token"])
heroku.dyno.restart_all("lastmingear")
render nothing: true
end