Delayed::Job:数据库支持的异步任务优先队列

Delayed::Job(DJ)可以将比较耗时的任务封装在后台运行,比如发送邮件、下载、修改图片等等。而且它支持我们多种数据库作为队列。ActiveRecord、DataMapper、IronMQ、Mongoid、MongoMapper、MongoMapper、Redis。

使用这个插件,你可以在任务表中定义很多任务:

  1. 发送大量邮件
  2. 修改图片
  3. http下载
  4. 当商品更换了之后,更新solr索引服务器
  5. 批导入
  6. 垃圾邮件检查

开始使用

你可以创建一个delayed_jobs:

创建表:

 

任务都是一个具有perform方法的简单的ruby对象,任何可以响应perform方法的对象都可以填充到table中。

格式任务对象为yaml格式,以后 job runner可以运行它:

 

启动任务

你可以触发rake jobs:work,它将运行任务。你也可以使用以下脚本从外部触发它

github地址:https://github.com/tobi/delayed_job

收藏

资源整理者简介:sunbiaobiao

(新浪微博:@sunbiao将军) 个人主页 · 贡献了178个资源 · 10


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer