`

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

阅读更多

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

 

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

 

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

 

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

0
0
分享到:
评论

相关推荐

    Rails3 使用rake启动后台任务

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

    rails-4.2.0-gems

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

    delayed_job_current:官方 DelayedJob 存储库的分支,带有 Shopify 的改进

    Delayed::Job(或 DJ)封装了在后台异步执行较长任务的常见模式。 它是直接从 Shopify 中提取的,其中工作表负责许多核心任务。 这些任务包括: 发送大量时事通讯 图像大小调整 http下载 更新智能收藏 在产品更改...

    platform:DPLA平台

    Content-QA子应用程序使用和异步优先级队列系统。 安装时,运行以下命令以生成延迟的作业并在数据库中创建表: rails generate delayed_job rails generate delayed_job:active_record rake db:migrate 当启动...

    详解Ruby on Rails中的mailer相关使用

    可以利用`delayed_job`这样的背景任务库来异步发送邮件,以提高用户体验。 综上所述,理解并遵循这些最佳实践能够帮助你在Ruby on Rails中构建高效且健壮的Mailer系统,同时确保邮件的可靠性和用户体验。

    跟踪值得注意的请求和后台作业_Ruby_下载.zip

    在Ruby on Rails框架中,可以使用内置的`logging`库来记录这些请求。在`config/environments/development.rb`配置文件中,你可以调整日志级别以获取更详细的请求信息。例如,设置`config.log_level = :debug`会显示...

    qe:多个后台作业库(如 Resque、Sidekiq 和 DelayedJob)的简单界面

    require "qe/delayed_job" require "qe/beanstalk" 您还需要 require 将要使用的库。 如果您将 Rails 与 Bundler 一起使用,您可以简单地要求正确的文件和依赖项。 source :rubygems gem "rails" , "3.2.8" gem ...

    mindapp_blank:新的 Mindapp Web 应用程序的空白模板

    1. **Active Job**:这是一个抽象层,用于处理异步任务,使得开发者可以方便地选择后台队列服务,如Resque、Sidekiq或Delayed Job。 2. **Action Cable**:首次引入,是Rails 5的一部分,但4.2.0中已开始预览。它为...

Global site tag (gtag.js) - Google Analytics