Rename Schedule to Scheduler

This commit is contained in:
Dzmitry Plashchynski
2015-03-05 15:13:48 +02:00
parent 368d9ee0a9
commit 59e71e89f3
7 changed files with 18 additions and 18 deletions

View File

@@ -1,6 +1,6 @@
check process crono_myapp
with pidfile /path/to/crono.pid
start program = "bundle exec crono" with timeout 30 seconds
start program = "bundle exec crono -e production" with timeout 30 seconds
stop program = "kill -s TERM `cat /path/to/crono.pid`" with timeout 30 seconds
if totalmem is greater than 500 MB for 2 cycles then restart
group myapp_crono

View File

@@ -5,6 +5,6 @@ require "active_support/all"
require "crono/version.rb"
require "crono/period.rb"
require "crono/job.rb"
require "crono/schedule.rb"
require "crono/scheduler.rb"
require "crono/config.rb"
require "crono/performer_proxy.rb"

View File

@@ -2,7 +2,7 @@ require 'crono'
require 'optparse'
module Crono
mattr_accessor :schedule
mattr_accessor :scheduler
mattr_accessor :logger
class CLI
@@ -12,7 +12,7 @@ module Crono
def initialize
self.config = Config.new
Crono.schedule = Schedule.new
Crono.scheduler = Scheduler.new
end
def run
@@ -49,8 +49,8 @@ module Crono
def print_banner
logger.info "Loading Crono #{Crono::VERSION}"
logger.info "Running in #{RUBY_DESCRIPTION}"
logger.info "Schedule:"
Crono.schedule.jobs.each do |job|
logger.info "Jobs:"
Crono.scheduler.jobs.each do |job|
logger.info job.description
end
end
@@ -65,7 +65,7 @@ module Crono
def start_working_loop
Thread.abort_on_exception = true
while job = Crono.schedule.next do
while job = Crono.scheduler.next do
sleep(job.next - Time.now)
job.perform
end

View File

@@ -1,17 +1,17 @@
module Crono
class PerformerProxy
def initialize(performer, schedule)
def initialize(performer, scheduler)
@performer = performer
@schedule = schedule
@scheduler = scheduler
end
def every(period, *args)
job = Job.new(@performer, Period.new(period, *args))
@schedule.add(job)
@scheduler.add(job)
end
end
def self.perform(performer)
PerformerProxy.new(performer, Crono.schedule)
PerformerProxy.new(performer, Crono.scheduler)
end
end

View File

@@ -1,5 +1,5 @@
module Crono
class Schedule
class Scheduler
attr_accessor :jobs
def initialize

View File

@@ -6,7 +6,7 @@ end
describe Crono::PerformerProxy do
it "should add job to schedule" do
expect(Crono.schedule).to receive(:add).with(kind_of(Crono::Job))
expect(Crono.scheduler).to receive(:add).with(kind_of(Crono::Job))
Crono.perform(TestJob).every(2.days, at: "15:30")
end
end

View File

@@ -4,24 +4,24 @@ class TestJob
def perform;end
end
describe Crono::Schedule do
describe Crono::Scheduler do
before(:each) do
@schedule = Crono::Schedule.new
@scheduler = Crono::Scheduler.new
@jobs = [
Crono::Period.new(3.day, at: "18:55"),
Crono::Period.new(1.day, at: "15:30"),
Crono::Period.new(7.day, at: "06:05")
].map { |period| Crono::Job.new(TestJob, period) }
@schedule.jobs = @jobs
@scheduler.jobs = @jobs
end
describe "#next" do
it "should return next job in schedule" do
expect(@schedule.next).to be @jobs[1]
expect(@scheduler.next).to be @jobs[1]
end
it "should return next based on last" do
expect(@schedule.next)
expect(@scheduler.next)
end
end
end