mirror of
https://github.com/plashchynski/crono.git
synced 2026-04-25 10:18:49 +02:00
Rename Schedule to Scheduler
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module Crono
|
||||
class Schedule
|
||||
class Scheduler
|
||||
attr_accessor :jobs
|
||||
|
||||
def initialize
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user