module DelayedCronJob::Backend::UpdatableCron

Public Class Methods

included(klass) click to toggle source
# 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

Public Instance Methods

destroy() click to toggle source
Calls superclass method
# File lib/delayed_cron_job/backend/updatable_cron.rb, line 16
def destroy
  super unless schedule_instead_of_destroy
end
schedule_next_run() click to toggle source
# 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_at() click to toggle source
# 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