Create a gist now

Instantly share code, notes, and snippets.

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