`

Rails使用Delayed Job来实现异步操作

阅读更多

在Rails应用,难免有耗时的操作(如站内信群发,邮件群发),如果直接放在控制器的action方法让http请求去调用处理的话,前台浏览器会一直loading直到任务完成,有可能不小心就关掉了浏览器,导致结果不可知。

 

而tobi的Delayed Job这个rails插件则轻轻几个类,若干行代码就解决了这个问题。

 

它将耗时任务先保存到数据库中名为delayed_jobs这张表中,然后我们rake jobs:work & 来启动一个后台进程去扫描未完成的任务而去执行它们。

 

很不错的插件,项目地址:http://github.com/tobi/delayed_job/

0
0
分享到:
评论

相关推荐

    delayed_job_mongoid:延迟工作的Mongoid后端

    延迟的工作Mongoid后端 要求 Mongoid 5或更高版本。 对于Mongoid 3和4,请使用此gem的2.x版本。 安装 将宝石添加到您的Gemfile中: gem 'delayed_job_mongoid'... rails generate delayed_job 就是这样。 正常使用 。

    Rails3 使用rake启动后台任务

    4. **Delayed Job (DJ)**: DJ 是一个流行的 Rails 插件,用于处理后台任务。它将任务放入数据库队列,然后在后台进程(如 worker)中执行。要使用 DJ,首先需要安装 gem,然后配置数据库连接,最后创建并运行 worker...

    Rails 101 入门电子书

    - **作品**: 除了《Rails 101 入门电子书》外,xdite还编写了其他几本书籍,如《Maintainable Rails View》、《Lean SaaS》以及《Land Dream Rails Job》等。 - **特色**: 这本书是中文世界唯一一本基于Rails 4.0.0+...

    rails-4.2.0-gems

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

    rails中使用javascript日期控件

    这篇博客“rails中使用javascript日期控件”探讨的就是如何在Rails应用中集成JavaScript日期控件,特别是通过一个名为WebCalendar.js的库来实现这一功能。WebCalendar.js是一个轻量级的JavaScript库,用于创建交互式...

    Rails上的API:使用Rails构建REST APIAPIs on Rails: Building REST APIs with Rails

    在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...

    async-rails, 异步 Rails 3堆栈演示.zip

    async-rails, 异步 Rails 3堆栈演示 异步 Rails 3.1堆栈演示重要警告:当你使用 Rails 时,应该注意到当堆栈增长时,你可以得到堆栈溢出错误超过 4Kb ( 但对于大多数情况来说),随着 3.1版本的增加,这变得更加糟糕...

    async-rails:异步Rails 3堆栈演示

    在将光纤与Rails一起使用时,应注意,如果堆栈增长,则会出现堆栈溢出错误大于4Kb(尽管对于大多数事情来说已经足够了),但在3.1版本中,情况变得更糟你可以很容易地使栈溢出,这里有一个例子。 具有Rails 3.1 + ...

    Ruby-GoOnRails使用Rails生成器来生成一个Golang应用

    总的来说,`GoOnRails`是一个创新的工具,它让Rails开发者能够轻松地在Rails项目中引入Go代码,实现高性能API服务。通过熟练掌握`GoOnRails`,开发者可以在保持高效开发流程的同时,享受到Go带来的性能提升。

    rails操作.docx

    本文将深入探讨Rails的基本操作,包括配置、数据库连接以及如何使用Rails自动生成Web程序。 Rails遵循模型-视图-控制器(MVC)设计模式,这是一种将业务逻辑、用户界面和数据访问分离的设计方式。在Rails中,M、V、...

    Rails项目源代码

    这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...

    rails指南 中文版

    通过ActiveRecord,开发者可以使用面向对象的方式来操作数据,而无需编写SQL语句。 2. **ActionController**:负责处理HTTP请求并生成HTTP响应。控制器是MVC架构中的C,它连接模型和视图,处理用户输入,调用模型...

    ruby on rails对mongodb的操作

    在Ruby on Rails框架中,开发人员经常选择使用关系型数据库如SQLite、PostgreSQL或MySQL来存储数据。然而,随着NoSQL数据库的兴起,MongoDB因其灵活性和非结构化数据处理能力,也成为了许多Web应用程序的选择。本文...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    Struts2和Rails的国际化实现

    3. **在视图中使用**:在Rails的视图模板中,使用`t`或`translate`辅助方法来获取翻译,如: ```erb ('hello') %> ``` 4. **控制器和模型中的翻译**:在控制器和模型中,可以使用`I18n.t`方法获取翻译。 5. **...

    delayed_job_celluloid

    安装将 delay_job_celluloid 添加到您的 gem 文件中 gem 'delayed_job_celluloid'运行捆绑安装 bundle install delayed_job_celluloid要将启动脚本添加到您的脚本目录,请运行生成器 rails generate delayed_job_...

    使用Aptana+Rails开发Rails Web应用(中文)

    Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。本教程将详细介绍如何使用Aptana与Rails结合,创建一个功能完备的Web应用程序。 首先,我们需要安装Aptana...

    Rails101_by_rails4.0

    作者特别提到了“CRUD懶人大法Scaffold”,它是一种通过Rails自动生成代码的方式来快速搭建基本的CRUD操作,这大大简化了开发流程,使得开发者可以将更多的精力放在业务逻辑的实现上。 此外,书中还介绍了一些Rails...

    rails敏捷开发的购物车系统

    在Rails中,可以使用ActiveRecord来操作数据库。创建购物车模型(Cart)和商品模型(Product),定义它们之间的关系,如多对多关系,通过一个关联表记录每个购物车包含的商品及其数量。使用`has_and_belongs_to_many...

Global site tag (gtag.js) - Google Analytics