【问题标题】:Progress Bar for Background Process in RailsRails 中后台进程的进度条
【发布时间】:2013-01-17 21:37:26
【问题描述】:

我的 Rails 应用程序中有几个进程调用外部 Web API - 并且需要很长时间才能完成。我考虑过将它们移动到后台处理。

我希望能够向用户显示后台进程的进度(即进度条)。

首先,有没有关于在 Rails 中使用 jQuery 实现进度条的好的教程/学习资源(与文件上传过程无关)?我已经看到了很多关于显示图形的资源 - 但没有很多关于如何将图形更新挂钩到实际后台进程的信息。

其次,当我考虑用于后台处理的各种 gem 时,是否有一个可以更好地与进度条配合使用(即 Delayed Jobs、Resque、Sidekiq)?

谢谢

【问题讨论】:

  • 我说你使用什么 gem 来进行后台处理并不重要。无论哪种方式,您都可能需要手动更新一些状态表以跟踪进度
  • 我花了一些时间才回到这个问题上——但显然 Fro__oo 的建议使用了一种方法(当前),该方法是在 delay_jobs 分支请求中提出的,但从未合并到主项目中。

标签: jquery ruby-on-rails ruby-on-rails-3 progress-bar


【解决方案1】:

我刚刚写了一篇关于使用Sidekiq + SidekiqStatus + Bootstrap 主题进度条= 来实现进度条的博文。我知道这个问题已经有一段时间了,但希望其他人会觉得它有用:

How to Implement a Progress Bar Using Sidekiq Status


【讨论】:

  • 不再提供
  • 抱歉,我正在将我的博客移至数字海洋。它很快就会恢复。
  • 网站已备份!虽然现在它在 AWS 上。
【解决方案2】:

我创建了一个 gem 'sk_progress_bar' 我在其中实现了 "Progress Bar for Sidekiq Workers in Rails"!

希望对大家有用!

你可以在这里下载 gem:

Rubygems.org

https://rubygems.org/gems/sk_progress_bar

Git

https://github.com/Kondzolko/sk_progress_bar

【讨论】:

    【解决方案3】:

    gem Progress Job 看起来很有希望提供后台作业的进度更新。目前它看起来可以与 DelayedJob 一起使用。

    【讨论】:

      【解决方案4】:

      使用 startAjax 事件触发隐藏/显示进度条的功能。

      just answered this question in another post.

      jqueryui 进度表文档的网址是http://jqueryui.com/progressbar/

      【讨论】:

      • 虽然请求者确实提到想要使用 jQuery 更新进度条,但这并不能充分回答真正的问题,即如何首先获取进度信息。
      猜你喜欢
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 2012-02-14
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 2014-08-20
      相关资源
      最近更新 更多