Module: DelayedCronJob::Backend::UpdatableCron

Defined in:
lib/delayed_cron_job/backend/updatable_cron.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



5
6
7
8
# File 'lib/delayed_cron_job/backend/updatable_cron.rb', line 5

def self.included(klass)
  klass.send(:before_save, :set_next_run_at, :if => :cron_changed?)
  klass.attr_accessor :schedule_instead_of_destroy
end

Instance Method Details

#destroyObject



16
17
18
# File 'lib/delayed_cron_job/backend/updatable_cron.rb', line 16

def destroy
  super unless schedule_instead_of_destroy
end

#schedule_next_runObject



20
21
22
23
24
25
# File 'lib/delayed_cron_job/backend/updatable_cron.rb', line 20

def schedule_next_run
  self.attempts += 1
  unlock
  set_next_run_at
  save!
end

#set_next_run_atObject



10
11
12
13
14
# File 'lib/delayed_cron_job/backend/updatable_cron.rb', line 10

def set_next_run_at
  if cron.present?
    self.run_at = Cronline.new(cron).next_time(Delayed::Job.db_time_now)
  end
end