私はRubyの初心者で、作成したWindowsサービスの問題の1つに行き詰まりました(コードは以下にあります)。サービスを実行すると、テスト ログにファイルまたはディレクトリが存在しないというエラーが表示され、 name のログへのパスが見つかりませんQaTaTestExe.log.xml
。これは、ファイルに表示されるエラーです。
***デーモン障害 2013-07-28 16:29:28 -0400 err=そのようなファイルまたはディレクトリはありません
ただし、別のクラスでコードを試したとき (実行中の後でしょうか?) は機能します。エラーはデーモンに関するものであるため、構成に何か不足していますか?
LOG_FILE = 'C:\\test.log'
require "rubygems"
begin
require 'win32/daemon'
include Win32
class Daemon
def service_main
while running?
testresultpath = "Z:/Windows 2008 R2 - Exchange 2010 - Search"
file_path s =[]
Find.find(testresultpath) do |path|
file_paths << path if path =~ /.*\QaTaTestExe.log.xml$/
File.open("c:\\test.log", "a"){ |f| f.puts(path)}
end
sleep 30
File.open("c:\\test.log", "a"){ |f| f.puts "Service is running #{Time.now}" }
end
end
def service_stop
File.open("c:\\test.log", "a"){ |f| f.puts "***Service stopped #{Time.now}" }
exit!
end
end
Daemon.mainloop
rescue Exception => err
File.open(LOG_FILE,'a+'){ |f| f.puts " ***Daemon failure #{Time.now} err=#{err} " }
raise
end