Sha256: 0bde74b341acd36dcb7c462142a8931e13ae1fa7c3c876643d818127a197579f

Contents?: true

Size: 1.1 KB

Versions: 28

Compression:

Stored size: 1.1 KB

Contents

module DaemonKit

  # Thin wrapper around rufus-scheduler gem, specifically designed to ease
  # configuration of a scheduler and provide some added simplicity.
  #
  # For more information on rufus-scheduler, please visit the RDoc's
  # at http://rufus.rubyforge.org/rufus-scheduler/
  #
  # To use the evented scheduler, call #DaemonKit::EM.run prior to
  # setting up your first schedule.
  class Cron

    @instance = nil

    attr_reader :scheduler

    class << self

      # Access to the scheduler instance
      def instance
        @instance ||= new
      end

      def scheduler
        instance.scheduler
      end

      private :new

      # Once the scheduler has been configured, call #run to block the
      # current thread and keep the process alive for the scheduled
      # tasks to run
      def run
        DaemonKit.logger.info "Starting rufus-scheduler"

        if instance.is_a?( Rufus::Scheduler::PlainScheduler )
          instance.scheduler.join
        else
          Thread.stop
        end
      end
    end

    def initialize
      @scheduler = Rufus::Scheduler.start_new
    end
  end
end

Version data entries

28 entries across 28 versions & 6 rubygems

Version Path
kennethkalmer-daemon-kit-0.1.7.10 lib/daemon_kit/cron.rb
kennethkalmer-daemon-kit-0.1.7.7 lib/daemon_kit/cron.rb
kennethkalmer-daemon-kit-0.1.7.8 lib/daemon_kit/cron.rb
kennethkalmer-daemon-kit-0.1.7.9 lib/daemon_kit/cron.rb
queso-daemon-kit-0.1.7.10 lib/daemon_kit/cron.rb
skaar-daemon-kit-0.1.7.10 lib/daemon_kit/cron.rb
textgoeshere-daemon-kit-0.1.8.31 lib/daemon_kit/cron.rb
textgoeshere-daemon-kit-0.1.8rc3 lib/daemon_kit/cron.rb
daemon-kit-0.1.8rc2 lib/daemon_kit/cron.rb
daemon-kit-0.1.8rc1 lib/daemon_kit/cron.rb
apphunkd-0.13.0 vendor/daemon_kit/lib/daemon_kit/cron.rb
apphunkd-0.12.2 vendor/daemon_kit/lib/daemon_kit/cron.rb
apphunkd-0.12.1 vendor/daemon_kit/lib/daemon_kit/cron.rb
apphunkd-0.12.0 vendor/daemon_kit/lib/daemon_kit/cron.rb
daemon-kit-0.1.8pre lib/daemon_kit/cron.rb
apphunkd-0.11.1 vendor/daemon_kit/lib/daemon_kit/cron.rb
apphunkd-0.11.0 vendor/daemon_kit/lib/daemon_kit/cron.rb
daemon-kit-0.1.7.12 lib/daemon_kit/cron.rb
daemon-kit-0.1.7.11 lib/daemon_kit/cron.rb
apphunkd-0.10.1 vendor/daemon_kit/lib/daemon_kit/cron.rb