【问题标题】:Find out whether specific rake task is currently running查看当前是否正在运行特定的 rake 任务
【发布时间】:2014-09-07 12:39:43
【问题描述】:

有什么方法可以查明当前是否正在从 Rails 控制器运行特定的 rake 任务?我有一个广泛的 rake 任务,需要 5-6 小时才能完成。

我需要从前端 Web 界面查看该 rake 任务的状态,例如:

  • 任务“某些操作”正在运行...

如果能够从前端 Web 界面中硬停止/运行该 rake 任务,那就太好了。

如果发现 Railscast 专门用于它,但那里描述的方法只允许从控制器运行 rake 任务,但不能停止/查看其状态。

【问题讨论】:

  • 你使用类似resquesidekiq 在后台运行作业?
  • 不,但是在快速查看之后,它可能正是我所需要的
  • 没错。您将能够使用其中之一查找状态
  • 我已经以回答的形式解释了我们的谈话。这样其他开发人员就可以从中受益。您也可以接受并关闭问题。

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 rake rake-task


【解决方案1】:

如果您的工作需要 5-6 小时才能完成,您必须在后台运行它。要在后台运行长时间运行的作业,您可以使用以下方法之一:

  1. Resque
  2. Sidekiq

对于跟踪您的工作状态,您可以使用相应的状态跟踪宝石:

  1. ResqueStatus
  2. SidekiqStatus

就我个人而言,我更喜欢 sidekiq 的效率。

注意:上面提到的所有 gem 都有足够好的文档。请参考那些。

【讨论】:

  • 我尝试了rescue 和sidekiq,sidekiq 似乎更易于安装、启动和运行。它也有漂亮的仪表板
  • 很高兴知道它对您有所帮助
猜你喜欢
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多