【问题标题】:Rails: How to manage rake tasks likewise migrationsRails:如何管理 rake 任务和迁移
【发布时间】:2016-06-10 04:26:47
【问题描述】:

我在多个实例上部署了 rails 应用程序,并且有太多 rake 任务无法在不同的实例上运行,因此很难管理哪些 rake 任务已在运行或剩余哪些。

有没有办法从数据库端管理它,因为schema_migrations 表由迁移管理。如果是的话,我想知道迁移到底是如何工作的?

有什么建议吗?

【问题讨论】:

    标签: ruby-on-rails ruby rake rails-migrations rake-task


    【解决方案1】:
    1. 正确方法:使用部署自动化。 Capistrano 是一个不错的选择。那么你就再也不用担心运行 rake 任务之类的事情了
    2. 我认为如果多次执行 rake 任务应该没有副作用。如果以这种方式执行任务,则无需担心哪些已完成,哪些未完成。
    3. 我认为如果你想获得对 Rake 任务的状态跟踪,一个简单的方法是实现一个模型来记录 rake 任务的执行状态,并在每次 rake 任务完成时更新模型。

    【讨论】:

      【解决方案2】:

      您可以使用 resque-scheduler(https://github.com/resque/resque-scheduler) 来管理和跟踪您的任务。

      【讨论】:

        【解决方案3】:

        您可以使用Progress Bar gem 来监控特定 rake 任务的进度。

        并且根据上面的建议,通过capistrano 进行自动化部署是一个不错的选择。您可以在 cap 脚本中管理 rake 任务的运行顺序。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-12-01
          • 1970-01-01
          • 2011-02-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-28
          相关资源
          最近更新 更多