在rake任务中打印到屏幕

我有一个长期的rake任务。 我不时地在屏幕上打印一个更新,让我知道任务的进展情况。

puts "Almost there..." 

我的问题是所有的puts语句似乎都在某处缓冲,直到任务完成后才会打印到屏幕上。 此时,它们将立即打印出来。

有什么方法可以在任务运行时强制打印它们吗?

 STDOUT.sync = true 

也许你可以刷新标准输出:

STDOUT.flush