【发布时间】:2012-06-13 00:15:10
【问题描述】:
我有一个 Ruby 服务器,它每 1 秒左右从一个平面文件中读取数据,并且这个平面文件每隔 1 秒左右就不断地被另一台服务器更新为新数据。这个平面文件本质上是一个 JSON 文件。问题是,我不想一遍又一遍地阅读整个文件。相反,我希望 ruby 服务器找出哪些内容是新的并且只读取那些部分。所以我猜我正在为 Ruby 寻找一个有状态的 JSON 解析器。由于我对 Ruby 很陌生,所以我不熟悉这样的库。有人可以建议在这种情况下可能有用的东西吗?
【问题讨论】:
-
您的意思是您希望能够在接收数据时进行增量解析?
-
@FrederickCheung:“哪些内容是新的” - 我不认为他在谈论仅附加文件。
-
@FrederickCheung:就像 Sergio 提到的,我只想阅读新内容。我希望能够记下对该文件的先前读取操作在哪里结束并从那里继续读取。这就是问题所在。我不知道该怎么做。另外,我正在编写一个守护程序,一旦达到阈值,它将通过删除早期的 json 字符串来定期清理文件。所以这增加了问题。有什么建议吗?
-
几分钟前我找到了 yajl-ruby,现在我正在检查它。这似乎是答案。我不肯定。我会检查一下并告诉你。非常感谢!
-
文件的格式如何?因为如果它是一个JSON文件,那么
标签: ruby json parsing stateful