我正在使用IRB處理數據庫,並且我想對數據庫進行定期更改(例如每10秒),以顯示STDOUT中的日誌。Mac上的IRB中的並行進程出現的問題
此外,我希望手動控制能夠更改數據庫並停止第一個進程。
到目前爲止,我想出了以下
def start
stop
@running = Thread.new do
loop do
fork do
puts 'change the database'
end
sleep 10
end
end
nil
end
def stop
@running.kill if @running
end
然而,除非我進入主IRB線程東西,這不是每隔10秒。
如何讓它工作?
爲什麼你使用'fork'和線程在同一時間目前尚不清楚禁用的ReadLine。 – tadman 2011-06-07 14:23:39
這是從第一道工序獲得產量的唯一途徑。只是線程不會產生穩定的輸出,而只是fork很難控制(如果我是正確的)。有些東西在我的設置中可能是錯誤的,我不知道如何找到它。 – Andrei 2011-06-07 15:31:02