Delayed_Job で実行されているさまざまなサービス pid を正常に一覧表示する次のコードをセットアップしました。ただし、ビュー内でこれらのアクションを呼び出す方法を探しています。1 つ目は、さまざまな pid ファイルをチェックする関数で、存在する場合は true または false を返します。
私の見解では、ユーザーがリンクをクリックしたときに呼び出される関数へのリンクがあります。
ただし、問題は、このページを更新するたびにメソッドが実行され、サービスが自動的に開始/停止されることです。
見る
<% 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