使用延迟作业重复执行任务

时间:2010-05-28 04:07:11

标签: ruby-on-rails rake ruby-on-rails-plugins

我目前正在使用delayed_job gem,我想知道如何每5分钟运行一次rake任务。

我想每5分钟运行一次“rake ts:reindex RAILS_ENV = production”,但我不知道从哪里开始。我真的没有太多可以说的,因为我在轨道开发方面非常缺乏经验。

3 个答案:

答案 0 :(得分:1)

我不会建议每5分钟使用一次思考sphinx重建索引。如果你真的想要把这样的东西放到/ etc / crontab中:

*/5 * * * * your_username cd /path/to/rails/root && rake ts:reindex RAILS_ENV=production

答案 1 :(得分:1)

思考Sphinx(假设你因ts:reindex提到你正在使用它)有内部钩子来使用延迟作业进行索引。你看过delayed delta indexing了吗?您最终可能会使用crontab实际运行Eimantas提到的周期性delta重新索引。

答案 2 :(得分:1)

使用Whenever gem计划重建索引rake任务或任何其他rake任务每5分钟运行一次。

它可以很容易地创建像这样的Cron作业