代码之家  ›  专栏  ›  技术社区  ›  Theo

在基于EventMachine的应用程序中读取文件的最佳方式是什么?

  •  12
  • Theo  · 技术社区  · 16 年前

    为了不阻塞reactor,我希望异步读取文件,但是我没有发现使用EventMachine的明显方法。我尝试过几种不同的方法,但没有一种是正确的:

    • 只要看一下文件,它就能堵住反应堆,但该死的,它不是 慢(除非它是一个大文件,然后它肯定是)。
    • EM.popen('cat some/file', FileReader) 感觉真的很奇怪,但比上面的选择效果更好。结合 LineAndTextProtocol 它读台词很快。
    • EM.attach
    • EM.watch

    如何读取EventMachine reactor循环中的文件?

    1 回复  |  直到 16 年前
        1
  •  6
  •   tmm1    16 年前

    最终,这取决于你想做什么。如果它是一个小文件,只要文件。读它。如果它更大,你可以随着时间的推移读小块。例如,EM::FileStreamer这样做是为了通过网络发送大文件。

    http://github.com/jordansissel/eventmachine-tail