服务中没有此类文件或目录错误

时间:2013-07-28 20:50:31

标签: ruby file daemon

我是ruby的新手,并且遇到了我创建的Windows服务的一个问题(代码如下)。当服务运行时,我在测试日志中收到一个错误,即没有这样的文件或目录,并且找不到名称为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

0 个答案:

没有答案