【发布时间】:2010-05-01 09:59:31
【问题描述】:
为了不阻塞反应器,我想异步读取文件,但我没有发现使用 EventMachine 的明显方法。我尝试了几种不同的方法,但都感觉不对:
- 只读取文件,它会阻塞反应器,但到底是什么,它并没有那么慢(除非它是一个大文件,然后它肯定是)。
- 打开文件进行读取,并在每个刻度上读取一个块(但要读取多少?太多会阻塞反应器,太少会导致读取速度比需要的慢)。
-
EM.popen('cat some/file', FileReader)感觉很奇怪,但比上面的替代品效果更好。与LineAndTextProtocol结合使用,它可以非常快速地读取行数。 -
EM.attach,但我还没有找到任何如何使用它的示例,我在邮件列表中发现的唯一内容是它已被弃用,取而代之的是...... -
EM.watch,我没有找到如何用于读取文件的示例。
如何在 EventMachine 反应器循环中读取文件?
【问题讨论】:
标签: ruby asynchronous eventmachine