いくつかのファイルを削除するrakeタスクがあります。これらのファイルがアプリケーションによってアクティブに使用されている可能性があります。私が実行しているファイルシステム(AFS)のいくつかの特性が原因で、アプリ(およびサーバー)の実行中にファイルを削除できません。
サーバーが稼働している場合は、早期に中止したいと思います。で起動したサーバーがscript/generate
rakeタスク内で実行されているかどうかを確認する方法はありますか?
いくつかのファイルを削除するrakeタスクがあります。これらのファイルがアプリケーションによってアクティブに使用されている可能性があります。私が実行しているファイルシステム(AFS)のいくつかの特性が原因で、アプリ(およびサーバー)の実行中にファイルを削除できません。
サーバーが稼働している場合は、早期に中止したいと思います。で起動したサーバーがscript/generate
rakeタスク内で実行されているかどうかを確認する方法はありますか?
の存在を確認できます。tmp/pids/server.pid
これrails s
は、開始時に作成され、終了時に削除する必要があります。サーバーが正常に終了しなかった場合でも、ファイルはまだ存在している可能性があるため、ファイルからPIDを読み取り、実際に実行されているかどうかを確認する必要があります。
path = File.join(Rails.root, "tmp", "pids", "server.pid")
pid = File.read(path).to_i
server_running = true
begin
Process.getpgid pid
rescue Errno::ESRCH
server_running = false
end