Skip to content

Instantly share code, notes, and snippets.

@nexneo
Forked from terrbear/scheduledjob.rb
Created March 17, 2010 13:15
Show Gist options
  • Save nexneo/335205 to your computer and use it in GitHub Desktop.
Save nexneo/335205 to your computer and use it in GitHub Desktop.
module Jobs
module ScheduledJob
def self.included(base)
base.extend(ClassMethods)
end
def perform_with_schedule
Delayed::Job.enqueue self, 0, self.class.schedule.from_now.getutc
perform_without_schedule
end
module ClassMethods
def method_added(name)
if name.to_s == "perform" && !@redefined
@redefined = true
alias_method_chain :perform, :schedule
end
end
def schedule
@schedule
end
def run_every(time)
@schedule = time
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment