0
我有以下代碼設置,它將成功列出正在爲Delayed_Job運行的不同服務pid。但是,我正在尋找一種可以在我看來稱爲這些操作的方式。第一個是檢查不同pid文件的函數,如果它們存在,它將返回true或false。在Rails視圖中啓動和停止命令行服務
在我看來,我有鏈接到當用戶點擊鏈接時被調用的函數。
但問題是,無論何時刷新此頁面,它都會執行方法並自動啓動/停止服務。
視圖
<% if delayed_job_service_running? %>
<em><b>Service Running</b></em> -
<%= link_to "Stop Service", delayed_job_stop %>
<% else %>
<em><b>Service Stopped</b></em> -
<%= link_to "Start Service", delayed_job_start %>
<% end %>
幫手文件
def delayed_job_service_running?
files = Dir.glob("#{Rails.root}/pids/**/delayed_job*")
pids = []
files.each do |file|
pids << `tail #{file}`
end
pids.empty? ? false : true
end
def delayed_job_start
`script/delayed_job -n 2 start`
end
def delayed_job_stop
`script/delayed_job stop`
end