1
下面的代碼超時問題在Windows上進行系統調用在Ruby中XP
require 'timeout'
begin
timeout(20) do # Line 4
result = `hostname`
end # Line 6
rescue Timeout::Error
puts "Timeout"
exit
end
puts "Result:" + result # Line 12
引發錯誤
issue.rb:12:
<main>': undefined local variable or method
結果」爲主要 :對象(NameError )
但如果我註釋掉超時元素(第4和第6行),它工作正常。我曾嘗試使用IO.popen,IO.select等,但沒有任何幫助。我在很多其他領域使用了這種超時技術,並且它工作正常。
它似乎沒有與超時值相關,因爲我已經試驗了更大更小的值。
在Windows XP上使用Ruby 1.92。任何幫助非常感謝。
p.s.我原來的問題沒有運行「主機名」,而是一個更復雜的SQL Server批處理作業。作爲一個獎勵點,超過超時時間的長時間運行的系統任務是否會自動終止?我讀過很多關於超時庫在忙於運行系統任務時沒有遵守超時的帖子?
感謝您的修復。我整個早上都在竊聽我。 – 2011-02-10 14:03:01