BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Ezra Zygmuntowicz 关注 0 他的粉丝 ,译者 苏锐 关注 0 他的粉丝 发布于 2007年9月18日. 估计阅读时间: 1 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

用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插件

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

好东西 by Chen Jerome

东西不错,不过应用场景不是特别大,对实时性要求不高的东西根本用不上,在*nix下可以用cron,win下可以用at来定时执行指定的任务,基本上可以满足要求了。

------------------------------------------
[Ruby中文社区] - ruby-lang.org.cn

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT