lib/resque/scheduler.rb in resque-scheduler-4.2.0 vs lib/resque/scheduler.rb in resque-scheduler-4.2.1

- old
+ new

@@ -55,17 +55,18 @@ begin @th = Thread.current # Now start the scheduling part of the loop. loop do - if master? - begin + begin + if master? handle_delayed_items update_schedule if dynamic - rescue Errno::EAGAIN, Errno::ECONNRESET => e - log! e.message end + rescue Errno::EAGAIN, Errno::ECONNRESET, Redis::CannotConnectError => e + log! e.message + release_master_lock end poll_sleep end rescue Interrupt @@ -133,10 +134,10 @@ if configured_env.nil? || env_matches?(configured_env) log! "Scheduling #{name} " interval_defined = false interval_types = %w(cron every) interval_types.each do |interval_type| - next unless !config[interval_type].nil? && config[interval_type].length > 0 + next unless !config[interval_type].nil? && !config[interval_type].empty? args = optionizate_interval_value(config[interval_type]) args = [args, nil, job: true] if args.is_a?(::String) job = rufus_scheduler.send(interval_type, *args) do if master?