文章:深入浅出理解BackgrounDRb插件

用Ruby on Rails开发各种类型的Web应用确实是很棒的选择,但是这些Web应用所在的问题领域中,你可能经常会遇到一些复杂精密的计算或者长时间运行的后台任务。但是由于你的Web应用被限制在HTTP协议的request/response模型下,这可能就会造成一些问题。你知道应该如何运行漫长的后台任务而不让你的Web服务器超时么?你又知道该如何把这些任务的进度告诉用户么?

使用Rails插件BackgrounDRb可以解决上面的问题。在Ruby的标准库中已经预制了DRb(Distributed Ruby),为使用TCP/IP或Unix sockets通过网络存取Ruby对象提供了一个简单的API。而BackgrounDRb提供了一个框架方便在Rails以外的独立线程中运行后台任务,从而摆脱了request/response模型。而且使用DRb你可以在Rails中使用钩子函数为用户提供任务进度或者状态更新。

对于BackgrounDRb的作用,插件的作者告诉我们他正在用BackgrounDRb做什么:

  • 下载并缓存RSS,这样可以做一个RSS 聚合器。
  • 使用watir驱动浏览器在后来访问网站并收集信息,做自动的屏幕抓取。
  • Xen VPS的自动创建和系统管理任务。
  • 后台为Hyper Estraier和 erret创建索引。
  • 连接Rails和IRC机器人。

阅读全文:深入浅出理解BackgrounDRb插件

你可能感兴趣的:(文章:深入浅出理解BackgrounDRb插件)