Delayed_Job에 대해 실행중인 다른 서비스 ID를 성공적으로 나열하는 다음 코드를 설정했습니다. 그러나, 나는 내 견해 내에서 이러한 행동을 부를 수있는 방법을 찾고있다. 첫 번째는 다른 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