Sha256: d9d9d75f737b1269d660e35c3ef663933676e9bb846fa972b4cb4d6601ed4c3e

Contents?: true

Size: 638 Bytes

Versions: 12

Compression:

Stored size: 638 Bytes

Contents

require "rufus/scheduler"

Houston.daemonize "scheduler" do
  $scheduler = Rufus::Scheduler.new

  Houston.config.timers.each do |(type, param, name, options, block)|
    wrapped_block = Houston.jobs.method(:run_job)

    case type
    when :cron
      cronline = Whenever::Output::Cron.new(options.fetch(:every, :day), nil, param)
      $scheduler.cron cronline.time_in_cron_syntax, options.merge(tag: name), &wrapped_block

    when :every
      $scheduler.every param, options.merge(tag: name), &wrapped_block

    else
      raise NotImplementedError, "A #{type.inspect} timer is not implemented"
    end
  end

  $scheduler.join
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
houston-core-0.6.3 config/initializers/houston_scheduler.rb
houston-core-0.6.2 config/initializers/houston_scheduler.rb
houston-core-0.6.1 config/initializers/houston_scheduler.rb
houston-core-0.6.0 config/initializers/houston_scheduler.rb
houston-core-0.5.6 config/initializers/houston_scheduler.rb
houston-core-0.5.5 config/initializers/houston_scheduler.rb
houston-core-0.5.4 config/initializers/houston_scheduler.rb
houston-core-0.5.3 config/initializers/houston_scheduler.rb
houston-core-0.5.2 config/initializers/houston_scheduler.rb
houston-core-0.5.1 config/initializers/houston_scheduler.rb
houston-core-0.5.0 config/initializers/houston_scheduler.rb
houston-core-0.5.0.beta1 config/initializers/houston_scheduler.rb