class Orchestrator::Core::ScheduleProxy

Attributes

schedules[R]

Public Class Methods

new(thread) click to toggle source
# File lib/orchestrator/core/schedule_proxy.rb, line 7
def initialize(thread)
    @scheduler = thread.scheduler
    @schedules = Set.new
end

Public Instance Methods

at(*args, &block) click to toggle source
# File lib/orchestrator/core/schedule_proxy.rb, line 22
def at(*args, &block)
    add_schedule @scheduler.at(*args, &block)
end
clear() click to toggle source
# File lib/orchestrator/core/schedule_proxy.rb, line 30
def clear
    @schedules.each do |schedule|
        schedule.cancel
    end
end
cron(*args, &block) click to toggle source
# File lib/orchestrator/core/schedule_proxy.rb, line 26
def cron(*args, &block)
    add_schedule @scheduler.cron(*args, &block)
end
every(*args, &block) click to toggle source
# File lib/orchestrator/core/schedule_proxy.rb, line 14
def every(*args, &block)
    add_schedule @scheduler.every(*args, &block)
end
in(*args, &block) click to toggle source
# File lib/orchestrator/core/schedule_proxy.rb, line 18
def in(*args, &block)
    add_schedule @scheduler.in(*args, &block)
end

Protected Instance Methods

add_schedule(schedule) click to toggle source
# File lib/orchestrator/core/schedule_proxy.rb, line 40
def add_schedule(schedule)
    @schedules.add(schedule)
    schedule.finally do
        @schedules.delete(schedule)
    end
    schedule
end