Fix crash when no jobs defined

This commit is contained in:
Dzmitry Plashchynski
2016-09-22 18:24:46 +03:00
parent 63c52896f7
commit e7df4bb067
2 changed files with 13 additions and 8 deletions

View File

@@ -29,7 +29,11 @@ module Crono
Cronotab.process(File.expand_path(config.cronotab))
print_banner
check_jobs
unless have_jobs?
logger.error "You have no jobs in you cronotab file #{config.cronotab}"
return
end
if config.daemonize
start_working_loop_in_daemon
else
@@ -39,6 +43,10 @@ module Crono
private
def have_jobs?
Crono.scheduler.jobs.present?
end
def setup_log
if config.daemonize
self.logfile = config.logfile
@@ -85,11 +93,6 @@ module Crono
::Rails.application.eager_load!
end
def check_jobs
return if Crono.scheduler.jobs.present?
logger.error "You have no jobs in you cronotab file #{config.cronotab}"
end
def start_working_loop_in_daemon
unless ENV['RAILS_ENV'] == 'test'
begin

View File

@@ -7,6 +7,7 @@ describe Crono::CLI do
describe '#run' do
it 'should initialize rails with #load_rails and start working loop' do
expect(cli).to receive(:load_rails)
expect(cli).to receive(:have_jobs?).and_return(true)
expect(cli).to receive(:start_working_loop)
expect(cli).to receive(:parse_options)
expect(cli).to receive(:parse_command)
@@ -14,12 +15,13 @@ describe Crono::CLI do
expect(Crono::Cronotab).to receive(:process)
cli.run
end
context 'should run as daemon' do
before {cli.config.daemonize = true}
context 'should run as daemon' do
before { cli.config.daemonize = true }
it 'should initialize rails with #load_rails and start working loop' do
expect(cli).to receive(:load_rails)
expect(cli).to receive(:have_jobs?).and_return(true)
expect(cli).to receive(:start_working_loop_in_daemon)
expect(cli).to receive(:parse_options)
expect(cli).to receive(:parse_command)