【问题标题】:Repeated Rake Task Using Delayed Job使用延迟作业的重复 Rake 任务
【发布时间】:2010-05-28 14:34:57
【问题描述】:

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

我想每 5 分钟运行一次“rake ts:reindex RAILS_ENV=production”,但我不知道从哪里开始。对此我真的无话可说,因为我在 Rails 开发领域非常缺乏经验。

【问题讨论】:

  • 下面的所有答案都很棒,但我最终还是选择了whenge gem,以将所有内容都绑定在我的rails 程序中。谢谢大家!

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


【解决方案1】:

使用每当 gem 安排您的重新索引 rake 任务或任何其他 rake 任务每 5 分钟运行一次。

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

【讨论】:

  • 如果您不想使用 rake 来避免每次需要运行 DJ 时启动 rails 怎么办?
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    Thinking Sphinx(假设您因为提到 ts:reindex 而使用它)具有内部挂钩,可以使用延迟作业进行索引。你看过delayed delta indexing吗?正如 Eimantas 所提到的,您最终可能会使用 crontab 来实际运行定期 delta reindex。

    【讨论】:

    • 但是在 heroku 中添加 delta 索引成本接近 50 美元!
    • 嗯,这个答案已经有 5 年历史了,但出于这样的原因,我不使用或推荐 Heroku。
    猜你喜欢
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    相关资源
    最近更新 更多