Class: Delayed::Schedule
- Inherits:
-
Plugin
- Object
- Plugin
- Delayed::Schedule
- Defined in:
- lib/delayed/schedule.rb
Defined Under Namespace
Classes: ScheduleTask
Class Method Summary collapse
- .every(time_range, &block) ⇒ Object
- .run?(worker) ⇒ Boolean
- .run_tasks ⇒ Object
- .worker_select=(proc) ⇒ Object
Class Method Details
.every(time_range, &block) ⇒ Object
19 20 21 22 |
# File 'lib/delayed/schedule.rb', line 19 def self.every(time_range, &block) @schedule_tasks ||= [] @schedule_tasks.push(ScheduleTask.new(time_range, block)) end |
.run?(worker) ⇒ Boolean
28 29 30 |
# File 'lib/delayed/schedule.rb', line 28 def self.run?(worker) !@worker_select.respond_to?(:call) || @worker_select.call(worker) end |
.run_tasks ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/delayed/schedule.rb', line 9 def self.run_tasks @schedule_tasks ||= [] @schedule_tasks.select(&:run_necessary?).each do |task| task.perform rescue StandardError => e Rails.logger.error e. Rails.logger.error e.backtrace.join("\n") end end |
.worker_select=(proc) ⇒ Object
24 25 26 |
# File 'lib/delayed/schedule.rb', line 24 def self.worker_select=(proc) @worker_select = proc end |