【问题标题】:Delayed Job vs. Cron in RailsRails 中的延迟作业与 Cron
【发布时间】:2016-07-23 19:17:35
【问题描述】:

我的应用程序(在 Rails 中)应该提供两个主要任务:

  • 在未来给定时间创建活动(例如发布到 Twitter)
  • 定期抓取某些网站或下载推文

我正在考虑使用 DelayedJob gem 或每当 gem 执行 cron 任务。在这些情况下哪个更好?

感谢您的建议。

【问题讨论】:

    标签: ruby-on-rails cron delayed-job whenever


    【解决方案1】:

    为了创建活动,我肯定会使用后台作业来执行此操作(即PostToTwitterJob)。我更喜欢Sidekiq 而不是DelayedJob,因为delayed_job 似乎不再处于活动状态。如果您希望在未来的特定时间执行该工作,请查看sidekiq's documentation

    至于爬行,我会同时使用。您的爬虫将是一项后台作业(即TweetsCrawlerJob),您可以使用whenever 每小时启动一次。

    【讨论】:

    【解决方案2】:

    在未来给定时间创建活动(例如发布到 Twitter)

    如果这是对事件/用户操作的响应,那么后台任务将是理想的,因为它不是常规计划。 Ruby toolbox 似乎更喜欢 Resque 和 Sidekiq 而不是延迟的工作,所以在解决之前看看那些。

    定期爬取某些网站或下载推文

    与上述相反,如果这是定期安排的事件,那么 cron 作业是理想的。使用whenever 并没有错,但请确保您对作业进行某种形式的监控,以便在出现问题时提醒您。

    【讨论】:

    • 好的,谢谢。我应该能够在我的 PosgreSQL 数据库旁边使用 Redis for Sidekiq,不是吗?
    猜你喜欢
    • 1970-01-01
    • 2013-08-04
    • 2013-11-26
    • 2012-04-20
    • 1970-01-01
    • 2011-03-04
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多