我正在实现一个轮询服务,其界面如下所示。
poller = Poller.new(SomeClass)
poller.start
poller.stop
该start
方法应该不断地开始点击 http 请求并更新数据库中的内容。一旦start
ed,该过程应该继续,直到它被明确地stop
ed。
我了解实现start
需要在新进程中生成和运行。我不太确定如何在 Ruby 中实现这一点。我想要一个 ruby 解决方案,而不是一个特定于 ruby 框架的解决方案(不是 rails 插件或 sinatra 扩展。只是 ruby gems)。我正在探索 eventmachine 和 starling-workling。我发现 eventmachine 太大而无法在短时间内理解,并且工作是一个插件而不是一个 gem。所以让它为 Ruby 应用程序工作是一件痛苦的事情。
我需要有关如何实现这一目标的指导。任何指针?代码示例会有所帮助。
编辑
Eventmachine 或 starling-workling 解决方案将优于线程/分叉。