`
花花公子
  • 浏览: 132066 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

rails后台任务比较

阅读更多
因工作需要,需要找一个backgroundrb类似的后台程序。花了一天时间,比较了几个插件,稍微写一下心得。

这些后台程序的组成基本一致:一个队列系统加上后台执行程序。队列系统一般是数据库或者走memcached协议的starling。所以,byebye,backgroundrb,使用drb实现队列的消息传递并不是一个好主意。

backgroundrb还有一个问题,更新队列的时候,它使用的是悲观锁,在查询的时候会导致数据库不响应。在大访问量的情况下,这种情况是不容允许的。

使用数据库主要是background jobbackground_fu。相比之下,background_fu更简单,bj需要三张表,略微繁琐了一点。

使用starling的就是workling,这个还没有试过,准备服务器负载增大了以后再说。毕竟starlingtwitter使用的消息系统,负载量应该没有问题。

update: background_fu还有点小bug,有空我要提交一下patch。
4
0
分享到:
评论

相关推荐

    Rails3 使用rake启动后台任务

    在 Rails 应用程序中,Rake 通常用于数据库迁移、测试、清理等操作,以及启动后台任务。 在 Rails3 中,rake 不仅用于基本的项目管理,还可以用于启动后台任务,这在处理耗时操作、异步任务或者批量数据处理时非常...

    Ruby-getschwifty利用ActiveJobActionCable在后台作业队列中渲染部分Rails视图

    在Rails应用中,ActiveJob是处理后台任务的抽象层,而ActionCable则是实现Websocket通信的库,允许实时的双向通信,即服务器推送更新到客户端。 ActiveJob是Rails 4.2引入的一个特性,它提供了一种统一的接口来创建...

    rails指南 中文版

    9. **ActiveJob**:Rails的后台任务处理框架,可以配合各种队列服务(如Resque、Sidekiq等)处理异步任务。 10. **Rails Console**:提供了一个交互式的命令行工具,用于检查和调试应用,执行Ruby代码,以及与...

    Advanced Rails

    7. **Rails插件与Gem**:Rails社区提供了丰富的插件和Gem,如Devise用于身份验证,Paperclip或Carrierwave处理文件上传,Resque或Sidekiq实现后台任务队列。掌握如何选择和使用这些工具来扩展应用功能。 8. **Rails...

    在RubyOnRails中运行长时间的后台任务变得非常简单_Ruby_下载.zip

    在Ruby on Rails(RoR)框架中,处理长时间运行的后台任务是常见的需求,这可以避免阻塞Web服务器响应并提高用户体验。标题提到的“在RubyOnRails中运行长时间的后台任务变得非常简单”暗示了我们将探讨如何在RoR中...

    使用RabbitMQ的Rails工业级后台工作者系统。_Ruby_HTM.zip

    通过这个项目,开发者可以学习如何在Rails应用中有效地利用RabbitMQ,实现高效的后台任务处理,同时提升系统的响应速度和稳定性。无论是处理大量用户请求,还是执行后台维护任务,这样的系统都能提供可靠的支持。在...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    另外,它引入了ActiveJob,为异步任务和后台队列处理提供了一致的接口。还有,Turbolinks的加入,通过页面变更的局部更新提高了用户体验。此外,4.0版本开始支持Ruby 2.0的特性,如默认参数和末尾返回。 每个版本的...

    rails-1.0.0

    随着时间的推移,Rails不断进化,引入了更多新特性,如ActiveJob(后台任务处理),Action Cable(实时通信)等,但其核心理念始终未变,即提供一个强大而优雅的框架,让开发者更专注于创造有价值的应用。

    rails-4.2.0-gems

    此外,Rails 4.2.0引入了`Active Job`,这是一个抽象层,用于处理异步任务和后台作业。它与各种后台作业队列库如Resque、Sidekiq和Delayed Job兼容,极大地提高了应用的响应速度和用户体验。 关于Ruby 4.2.0,最大...

    ruby on rails for dummies

    书中可能还会涉及Rails的插件和gem(Ruby的包管理器),如Devise用于用户认证,CanCanCan或Pundit进行权限控制,以及Resque或Sidekiq处理后台任务。另外,部署Rails应用到Heroku、AWS或其他云平台也可能被提及,让...

    使用Rails上传和转换视频

    对于ActiveStorage,我们可以自定义一个后台任务,比如使用Sidekiq或Resque来处理视频转换。 以下是一个使用Sidekiq的例子,创建一个名为`VideoProcessor`的作业类: ```ruby class VideoProcessor include ...

    ruby on rails 书全集(10余本经典著作PDF版)

    对于高级开发者,书籍可能会探讨Rails的最新版本更新和最佳实践,例如,如何利用Webpacker管理前端资产,或者使用ActiveJob实现后台任务。此外,还会深入讨论Rails社区中的热门话题,如服务对象、领域驱动设计(DDD)...

    Ruby-Rails实战之B2C商城开发

    这将涉及到身份验证和授权,Rails提供Devise这样的库来简化这些任务。 2. 商品管理:商品分类、添加、编辑、删除等操作。模型层需要处理商品属性,如名称、价格、库存等,同时可能需要关联到供应商或者品牌。 3. ...

    Ruby on Rails Guides_ A Guide to Testing Rails Applications.pdf

    Rails框架设计之初就充分考虑了测试的需求,它在后台自动生成骨架测试代码,当你创建模型和控制器时,测试代码便已就绪。通过运行这些测试,你可以确保代码即使在大规模重构后仍保持预期的功能性。此外,Rails测试...

    rails _sunspot 学习笔记

    或者,如果你想在后台运行 Solr 服务器: ```bash rake sunspot:solr:run ``` #### 三、多模型搜索 Sunspot 支持跨多个模型进行搜索,这在实际应用中非常有用。下面将介绍如何实现多模型搜索。 **示例代码**: ...

    Rails3消息队列系统 Sidekiq

    Sidekiq是一款在Ruby on Rails应用中广泛使用的后台任务处理框架,它利用了多线程技术,提高了Web应用处理异步任务的效率。在Rails3时代,Sidekiq就已经崭露头角,成为开发者们首选的消息队列系统之一。本文将深入...

    Angle-3.4-rails

    5. ActiveJob:一个抽象层,用于创建和调度后台任务,兼容多种队列后端。 总结来说,"Angle-3.4-rails"项目涵盖了Rails的后端开发环境和Seeder工具,为开发者提供了构建Web应用的强大基础。通过深入理解Rails的架构...

Global site tag (gtag.js) - Google Analytics