Sha256: 45974cce2732950480e01d880e4034b2cfeb764020695e5cf03986bbc03126a5
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 KB
Contents
require "ruby-clock/dsl" require "ruby-clock/version" require "ruby-clock/rake" require "ruby-clock/shell" require "ruby-clock/around_actions" require "ruby-clock/dsl" require "ruby-clock/runners" require "ruby-clock/rails" require 'rufus-scheduler' require 'singleton' class RubyClock include Singleton include RubyClock::Rails::InstanceMethods extend RubyClock::Rails::ClassMethods include RubyClock::Rake include RubyClock::Shell include RubyClock::AroundActions attr_accessor :on_error, :around_trigger_code_location def initialize set_up_around_actions end def wait_seconds ENV['RUBY_CLOCK_SHUTDOWN_WAIT_SECONDS']&.to_i || 29 end def shutdown puts "Shutting down ruby-clock. Waiting #{wait_seconds} seconds for jobs to finish..." schedule.shutdown(wait: wait_seconds) puts "...done 🐈️ 👋" end def listen_to_signals signals = %w[INT TERM] signals.each do |signal| old_handler = Signal.trap(signal) do shutdown if old_handler.respond_to?(:call) old_handler.call else exit end end end puts "RUBY_CLOCK_SHUTDOWN_WAIT_SECONDS is set to #{wait_seconds}" end def schedule Rufus::Scheduler.singleton end def run_jobs puts "Starting ruby-clock with #{schedule.jobs.size} jobs" schedule.resume schedule.join end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-clock-2.0.0.beta5 | lib/ruby-clock.rb |