diff --git a/lib/crono/cli.rb b/lib/crono/cli.rb index 332ff20..ef0bb8b 100644 --- a/lib/crono/cli.rb +++ b/lib/crono/cli.rb @@ -6,6 +6,7 @@ module Crono def run load_rails + require File.expand_path("config/cronotab.rb") print_banner start_working_loop end @@ -27,7 +28,9 @@ module Crono end def start_working_loop - Config.instance.schedule.each do |klass, period| + loop do + klass, time = Config.instance.schedule.next + sleep(time - Time.now) run_job(klass) end end diff --git a/lib/generators/crono/install/install_generator.rb b/lib/generators/crono/install/install_generator.rb index 00af656..622f36a 100644 --- a/lib/generators/crono/install/install_generator.rb +++ b/lib/generators/crono/install/install_generator.rb @@ -5,7 +5,7 @@ module Crono source_root File.expand_path("../templates", __FILE__) def copy_config - template 'crono.rb.erb', 'config/initializers/crono.rb' + template 'cronotab.rb.erb', 'config/cronotab.rb' end end end diff --git a/lib/generators/crono/install/templates/crono.rb.erb b/lib/generators/crono/install/templates/cronotab.rb.erb similarity index 87% rename from lib/generators/crono/install/templates/crono.rb.erb rename to lib/generators/crono/install/templates/cronotab.rb.erb index 2ebeb44..256a66e 100644 --- a/lib/generators/crono/install/templates/crono.rb.erb +++ b/lib/generators/crono/install/templates/cronotab.rb.erb @@ -1,4 +1,4 @@ -# Crono configuration file +# cronotab.rb — Crono configuration file # # Here you can specify periodic jobs and their schedule. # You can specify a periodic job as a ActiveJob class in `app/jobs/`