【问题标题】:Multiple schedule.rb files with whenever gem多个 schedule.rb 文件与无论何时 gem
【发布时间】:2013-03-28 09:48:10
【问题描述】:

使用rails 中的when gem 设置cron 作业时是否可以有多个schedule.rb 文件?我希望有一个常规的 schedule.rb 文件和一个将部署到不同服务器的 reports_schedule.rb 文件,它有自己的特定报告环境。

无论何时使用 schedule.rb 文件如何?这可能吗?

【问题讨论】:

    标签: ruby ruby-on-rails-3 crontab whenever


    【解决方案1】:

    看起来有点难看是可能的。查看源代码on job_list.rb:25 whenever just does an instance eval。因此,您可以执行以下操作。

    schedule.rb

    #Load reporting schedules
    instance_eval(File.read('reporting_schedule.rb'), 'reporting_schedule.rb')
    
    # All your regular jobs
    # ...
    

    reporting_schedule.rb

    #Need some way to know if you are on the reporting server
    if `hostname` =~ /reporting_server/
      # All your reporting jobs
      # ...
    end
    

    帮助我使用when 命令进行了一些快速测试。虽然没有尝试在部署中使用它。

    【讨论】:

      【解决方案2】:

      不确定这是否是在提出问题后添加的,但您现在似乎可以进行基于角色的调度:请参阅https://github.com/javan/whenever 的自述文件

      【讨论】:

        猜你喜欢
        • 2011-12-20
        • 2015-06-26
        • 2023-03-09
        • 2011-02-01
        • 2013-02-19
        • 2011-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多