Rails:如何管理rake任务同样是迁移

时间:2016-06-10 04:26:48

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

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

有没有办法从db端管理它,因为迁移管理的schema_migrations表。如果是,那么,我想知道迁移究竟是如何工作的?。

有什么建议吗?。

3 个答案:

答案 0 :(得分:2)

  1. 正确的方法:使用部署自动化。 Capistrano是个不错的选择。然后,您永远不必担心运行rake任务等问题
  2. 我认为如果多次执行rake任务应该没有副作用。如果任务以这种方式实施,那么就不必担心哪些已经完成,哪些没有。
  3. 我认为如果你想获得Rake任务的状态跟踪,一个简单的方法是实现一个模型来记录rake任务的执行状态,并在每次rake任务完成时更新模型。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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